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

如何将数组嵌套型JSON转换后存入Python DataFrame?

问题:JSON结构转换并存入Python DataFrame

原始JSON结构:

{"Category_One": [["CAT_1_VALUE_LINE_ONE"], ["CAT_1_VALUE_LINE_TWO"]],
"Category_Two": [["CAT_2_VALUE_LINE_ONE"], ["CAT_2_VALUE_LINE_TWO"]],
"Category_Three": [["CAT_3_VALUE_LINE_ONE"], ["CAT_3_VALUE_LINE_TWO"]]
}

需要转换为以下格式的JSON数组:

[
    {"Category_One": "CAT_1_VALUE_LINE_ONE", "Category_Two": "CAT_2_VALUE_LINE_ONE", "Category_Three": "CAT_3_VALUE_LINE_ONE"},
    {"Category_One": "CAT_1_VALUE_LINE_TWO", "Category_Two": "CAT_2_VALUE_LINE_TWO", "Category_Three": "CAT_3_VALUE_LINE_TWO"}
]

转换完成后存入Python DataFrame。


解决步骤

1. 解析并转换JSON结构

先将原始JSON中每个类别下的嵌套列表展开,提取实际值,再按索引把对应位置的元素组合成新字典,最终形成目标数组:

import json
import pandas as pd

# 加载并解析原始JSON
raw_data = '''
{"Category_One": [["CAT_1_VALUE_LINE_ONE"], ["CAT_1_VALUE_LINE_TWO"]],
"Category_Two": [["CAT_2_VALUE_LINE_ONE"], ["CAT_2_VALUE_LINE_TWO"]],
"Category_Three": [["CAT_3_VALUE_LINE_ONE"], ["CAT_3_VALUE_LINE_TWO"]]
}
'''
parsed_data = json.loads(raw_data)

# 展开嵌套列表,提取每个类别的值列表
cleaned_values = {
    key: [item[0] for item in parsed_data[key]]
    for key in parsed_data
}

# 生成目标JSON数组
result_array = []
for idx in range(len(cleaned_values["Category_One"])):
    result_array.append({
        "Category_One": cleaned_values["Category_One"][idx],
        "Category_Two": cleaned_values["Category_Two"][idx],
        "Category_Three": cleaned_values["Category_Three"][idx]
    })

2. 转换为DataFrame

直接将转换后的数组传入pandas.DataFrame()即可:

df = pd.DataFrame(result_array)
print(df)

运行后输出的DataFrame如下:

Category_One        Category_Two      Category_Three
0  CAT_1_VALUE_LINE_ONE  CAT_2_VALUE_LINE_ONE  CAT_3_VALUE_LINE_ONE
1  CAT_1_VALUE_LINE_TWO  CAT_2_VALUE_LINE_TWO  CAT_3_VALUE_LINE_TWO

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:10:48