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

嵌套JSON转pandas DataFrame结果异常如何解决

问题根因

你的代码存在两个问题,核心问题是json_normalize的传参错误:

  • 你传入的是整个顶层myjson字典,但真正需要拆成表格行的所有记录,都存储在字典的data键对应的列表里
  • 直接对顶层字典做归一化,最终只会输出1行1列的结果:列名为data,单元格里存的是包含3条记录的完整列表,不会把列表内字典的ID、name、完成度等字段拆成独立列,完全达不到结构化表格的效果
  • 冗余代码:json_normalize执行后本身返回的就是DataFrame对象,不需要再额外套一层pd.DataFrame()做转换
修正方案

旧版pandas兼容写法

通过record_path参数明确告知json_normalize要展开的数组路径:

import pandas as pd
from pandas.io.json import json_normalize

df = json_normalize(myjson, record_path='data')
df

pandas 1.0+ 推荐写法

新版本pandas直接提供了顶层json_normalize接口,也可以直接取出data字段的列表传入,逻辑更直观:

import pandas as pd

df = pd.json_normalize(myjson['data'])
df

运行修正后的代码,会得到3行9列的标准DataFrame,每一列对应JSON里的单个字段,每一行对应一条项目记录,和预期的结构化表格效果一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 18:15:58