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

如何读取深层嵌套JSON指定节点生成正确结构的pandas DataFrame

解决方案

直接把JSON根节点整体传入pd.DataFrame,会把顶层所有元素作为DataFrame的列/行来源,自然无法读取到深层嵌套的目标数据,只需要先定位到指定路径下的activities数组,再构造DataFrame即可。

修正代码

import json
import pandas as pd

with open(r'activity.json', encoding='utf-8') as json_file:
    raw_data = json.load(json_file)

# 按确认的路径提取目标数据:根节点索引1 -> activities节点
activity_list = raw_data[1]['activities']

# 基于提取到的活动列表生成结构化DataFrame
df = pd.DataFrame(activity_list)
df.head(5)

深层嵌套字段处理

如果生成的DataFrame中user、activity这类列本身还是嵌套的字典/列表结构,可以用pd.json_normalize方法自动将嵌套字段打平为独立列,不需要手动逐个拆解:

# 自动扁平化所有嵌套字段,子属性会生成 父字段.子字段 格式的列名
df = pd.json_normalize(activity_list)

执行前可以先做简单校验:运行print(type(raw_data), len(raw_data))确认根节点是列表且长度大于2,再运行print(raw_data[1].keys())确认activities键存在,避免出现索引越界、键不存在的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 07:30:52