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

如何使用pandas读取嵌套JSON并将内层字段展开为独立列

pandas读取嵌套JSON展开为独立列的实现方法

你可以通过以下两种常用方案实现嵌套字段的展开:

方案1:读取时直接用json_normalize处理(推荐)

pd.json_normalize是pandas专门用于处理半结构化嵌套JSON数据的工具,可以直接按层级展开字段:

import pandas as pd
import json

# 加载本地JSON文件
with open("你的JSON文件路径.json", "r", encoding="utf-8") as f:
    json_data = json.load(f)

# 展开嵌套字段,默认展开后列名为 DataVal.xxx 格式
df = pd.json_normalize(json_data)
# 可选:去掉列名的DataVal前缀,直接用字段名作为列名
df.columns = df.columns.str.removeprefix("DataVal.")

方案2:对已读取的DataVal列直接转换

如果你已经通过pd.read_json读取得到仅含DataVal列的DataFrame,可以直接将该列的字典内容转为独立列:

# 假设已读取的原始DataFrame名为df_raw
df = pd.DataFrame(df_raw["DataVal"].tolist())

可选:字段类型转换

如果需要将sales、cost等字符串格式的数值转为数值类型,date转为日期类型,可以补充以下代码:

# 数值类型转换
df[["sales", "cost", "hr", "month"]] = df[["sales", "cost", "hr", "month"]].apply(pd.to_numeric)
# 日期类型转换
df["date"] = pd.to_datetime(df["date"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:45:08