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

如何通过循环将嵌套JSON全部转换为Pandas DataFrame表格

嵌套JSON转DataFrame的解决方法

你之前的问题根源:

  1. 直接取full_res[0][0]只会处理第一个字典,自然只得到一行数据;
  2. 循环里每次把新生成的DataFrame赋值给df,之前的数据会被覆盖,最后只剩最后一行;另外循环条件x <= n有误——列表索引从0开始,长度为n的话索引范围是0到n-1,应该用x < n。

最优方案:无需循环,直接批量处理

pd.json_normalize本身支持传入字典组成的列表,直接把包含所有数据的子列表传进去即可:

import pandas as pd

full_res = [
    [
        {
            "Col1": "c1v1",
            "Col2": "C2v1",
            "Col3": [{"m": "vm1", "n": "vn1", "p": "vp1"}],
            "col4": [],
        },
        {
            "Col1": "c1v2",
            "Col2": "C2v2",
            "Col3": [{"m": "vm2", "n": "vn2", "p": "vp2"}],
            "col4": [],
        },
    ]
]

# 直接传入full_res[0](所有字典组成的列表)
df = pd.json_normalize(full_res[0])
print(df)

运行后就能得到包含所有行的DataFrame,和你预期的结果完全一致。

如果一定要用循环实现

可以先把每个元素生成的小DataFrame存到列表里,最后合并成一个大的DataFrame:

import pandas as pd

full_res = [
    [
        {
            "Col1": "c1v1",
            "Col2": "C2v1",
            "Col3": [{"m": "vm1", "n": "vn1", "p": "vp1"}],
            "col4": [],
        },
        {
            "Col1": "c1v2",
            "Col2": "C2v2",
            "Col3": [{"m": "vm2", "n": "vn2", "p": "vp2"}],
            "col4": [],
        },
    ]
]

dfs = []
# 遍历full_res[0]里的每个字典
for item in full_res[0]:
    temp_df = pd.json_normalize(item)
    dfs.append(temp_df)

# 合并所有小DataFrame并重置索引
df = pd.concat(dfs, ignore_index=True)
print(df)

或者用修正后的while循环:

import pandas as pd

full_res = [
    [
        {
            "Col1": "c1v1",
            "Col2": "C2v1",
            "Col3": [{"m": "vm1", "n": "vn1", "p": "vp1"}],
            "col4": [],
        },
        {
            "Col1": "c1v2",
            "Col2": "C2v2",
            "Col3": [{"m": "vm2", "n": "vn2", "p": "vp2"}],
            "col4": [],
        },
    ]
]

dfs = []
n = len(full_res[0])
x = 0
while x < n:
    temp_df = pd.json_normalize(full_res[0][x])
    dfs.append(temp_df)
    x += 1

df = pd.concat(dfs, ignore_index=True)
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:15:43