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

如何使用Python Pandas将嵌套JSON字段提取为DataFrame的独立列

解决方案

你遇到的是典型的嵌套JSON结构展平需求,这里提供两种经过验证的可行方案,600条数据量下性能完全达标:

方案1:使用json_normalize直接加载(推荐)

pandas内置的json_normalize是专门处理嵌套JSON结构的工具,无需手动拆分字段:

import pandas as pd
import json

# 加载JSON文件
data = json.load(open('../fileservice.json'))
# 直接展平嵌套结构
df = pd.json_normalize(data["Functions"])
# 重命名Variables下的字段,去掉前缀
df = df.rename(columns=lambda x: x.replace("Environment.Variables.", "") if x.startswith("Environment.Variables.") else x)
# 按需保留需要的列
df = df[["FunctionName", "COMMIT_HASH", "SERVICE_OWNER"]]

方案2:基于已有DataFrame拆分

如果已经生成了初始DataFrame不想重新加载,可以直接拆分Environment列:

# 提取Variables层的所有字段为独立列
var_series = df["Environment"].apply(lambda x: pd.Series(x["Variables"]))
# 合并到原表的FunctionName列后
df = pd.concat([df[["FunctionName"]], var_series], axis=1)
# 按需筛选目标列
df = df[["FunctionName", "COMMIT_HASH", "SERVICE_OWNER"]]

补充说明

你之前用explode无效是因为该方法仅用于处理列表类型的列,无法处理嵌套字典结构,不需要使用该方法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 18:15:04