如何动态访问JSON文件所有内容 处理未知动态字段并写入DataFrame
动态字段JSON转DataFrame解决方案
针对未知动态键名的嵌套JSON结构,无需硬编码字段名即可完成全层级数据提取,具体实现方案如下:
核心思路
你给出的结构里,filelife层级下的数字键为动态生成的字段,这类场景直接调用字典的values()方法就能获取该层级下所有值,不需要提前知晓具体键名;如果需要保留动态键本身作为数据字段,调用items()方法同时获取键和值即可。
代码实现
依赖库
使用pandas做结构化转换,json做文件读取:
import pandas as pd import json
完整处理逻辑
# 加载本地JSON文件 with open("你的文件路径.json", "r", encoding="utf-8") as f: raw_data = json.load(f) result_list = [] for record in raw_data["Data"]: # 提取外层固定字段作为基础信息 base_data = { "Origem": record["Origem"], "SubOrigem": record["SubOrigem"], "Protocolo": record["Protocolo"], "Status": record["Status"], "WorkflowStatus": record["WorkflowStatus"], "CategoryID": record["CategoryID"] } # 遍历filelife下所有动态条目,不需要知道具体键名 # 如果需要保留动态键,把values()改成items(),添加file_id字段即可 for file_info in record["filelife"].values(): # 合并外层信息和文件信息 full_record = {**base_data, **file_info} result_list.append(full_record) # 转换为DataFrame df = pd.DataFrame(result_list)
输出说明
最终生成的DataFrame每一行对应filelife下的一个文件条目,同时关联外层的业务字段,所有层级数据都会完整保留。
内容的提问来源于stack exchange,提问作者Carlos Eduardo Bilar Rodrigues
相关产品推荐
相关产品推荐

