You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将JSON多值合并到Pandas单个列(分号分隔)

解决JSON多值字段提取到Pandas DataFrame的问题

假设你的原始JSON结构类似这样:

{
"issues": [
{
"key": "PROJ-123",
"fields": {
"customfield_100": [
{"value": "组件A"},
{"value": "组件B"}
]
}
},
{
"key": "PROJ-456",
"fields": {
"customfield_100": [
{"value": "组件C"}
]
}
}
]
}

如果你的现有代码仅提取customfield_100的第一个value,可以通过列表推导式遍历所有子对象,再用分号拼接所有值,实现需求:

基础解决方案

import pandas as pd
import json

# 加载JSON文件
with open('your_data.json', 'r', encoding='utf-8') as f:
    json_data = json.load(f)

# 构造DataFrame,提取所有value并拼接
df = pd.DataFrame([
    {
        'Issue Key': issue['key'],
        'Component': '; '.join(item['value'] for item in issue['fields']['customfield_100'])
    }
    for issue in json_data['issues']
])

处理空字段的情况

如果存在customfield_100为空数组的情况,为避免报错,可以添加判断:

df = pd.DataFrame([
    {
        'Issue Key': issue['key'],
        'Component': '; '.join(item['value'] for item in issue['fields']['customfield_100']) 
                     if issue['fields']['customfield_100'] else ''
    }
    for issue in json_data['issues']
])

运行后,Component列会以分号分隔的形式存储所有关联值,比如组件A; 组件B、组件C或空字符串。

内容的提问来源于stack exchange,提问作者Sri B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:52:09