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

Pandas转换JSON为CSV时数据全存入单个单元格问题求解

问题原因

你现有的代码直接调用pd.read_json读取多层嵌套的GraphQL返回结果时,pandas只会识别最外层的data作为列名,不会自动展开深层嵌套的实体列表,所以会出现整段数据聚合在同一单元格的问题。

修复后的代码
import pandas as pd
import json

def json_to_csv(csv_path, json_path):
    # 加载JSON文件为Python字典
    with open(json_path, encoding='utf-8-sig') as j_input:
        json_data = json.load(j_input)
    # 提取实体列表:自动取data下第一个查询结果的entities数组,无需硬编码查询名
    query_result = list(json_data['data'].values())[0]
    entities = query_result['entities']
    # 直接用实体列表生成DataFrame,pandas会自动把对象的key作为表头
    df = pd.DataFrame(entities)
    # 如果实体存在嵌套字段,可替换上一行为下面这行自动展开嵌套结构,嵌套key会用点拼接为表头
    # df = pd.json_normalize(entities)
    # 导出CSV
    df.to_csv(csv_path, encoding='utf-8', index=False, lineterminator='\n')
效果说明
  • 表头会自动匹配实体对象的所有字段,不需要手动硬编码,查询字段变更后代码无需调整
  • 示例数据导出后的CSV内容如下:
id,created_at,updated_at
1,2021-05-06T15:35:49+00:00,2021-11-09T15:52:02+00:00
2,2021-05-08T01:51:54+00:00,2021-10-20T15:53:42+00:00
3,2021-05-10T15:53:01+00:00,2021-10-27T17:15:41+00:00
4,2021-05-11T13:25:02+00:00,2021-11-09T15:35:44+00:00
5,2021-05-11T13:42:24+00:00,2021-11-09T15:39:50+00:00

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:06:05