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

将嵌套JSON展开为Dataframe的问题求助

将嵌套JSON展开为Dataframe的问题求助

嘿,我太懂你找遍相关答案却死活解决不了问题的烦躁了!我之前也碰到过类似的嵌套JSON转扁平DataFrame的需求,给你分享个实用的解决方案。

先把你的问题场景理清楚:你有一段带嵌套数组的JSON数据,我帮你补全了没写完的部分,大概是这样的:

json_2_explode = [
    {
        "scalar": "43",
        "units": "m",
        "parameter": [{"no_1": "45", "no_2": "1038", "no_3": "356"}],
        "name": "Foo",
    },
    {
        "scalar": "54.1",
        "units": "km",
        "parameter": [{"no_1": "22", "no_2": "987", "no_3": "129"}],
        "name": "Bar",
    }
]

你想要把parameter里的嵌套字段都展开成DataFrame的单独列,得到一个完全扁平的表格对吧?

用Pandas的json_normalize方法就能完美解决这个问题,它专门处理这种嵌套JSON结构。具体代码如下:

首先导入Pandas:

import pandas as pd

然后调用json_normalize,指定要展开的嵌套数组路径,以及需要保留的其他顶层字段:

df = pd.json_normalize(
    json_2_explode,
    record_path='parameter',  # 指定要展开的嵌套数组字段
    meta=['scalar', 'units', 'name']  # 指定要保留的非嵌套字段
)

运行这段代码后,你就能得到想要的扁平DataFrame了:

scalarunitsno_1no_2no_3name
43m451038356Foo
54.1km22987129Bar

另外补充一句:如果你的parameter数组里有多个字典元素(比如某条数据里有多个parameter项),这个方法也会自动把它们拆分成多行,同时保留对应的scalar、units等字段,非常灵活。

备注:内容来源于stack exchange,提问作者user37292

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 17:15:26