如何使用Python pandas将嵌套JSON转换为指定字段的CSV文件
Python实现嵌套JSON转目标CSV方案
前置注意事项
你提供的原始JSON存在语法错误:数组最后一个元素末尾多了冗余逗号、最外层多了一个闭合大括号},实际读取前先修正JSON语法,否则会出现加载报错。
基于Pandas DataFrame的实现
首先安装依赖:pip install pandas
完整实现代码:
import json import pandas as pd # 读取本地JSON文件,替换为你的实际文件路径 with open("input.json", "r", encoding="utf-8") as f: raw_data = json.load(f) # 提取嵌套结构里的目标数据列表 key_records = raw_data["data"]["clientApplicationRsaKeyss"] # 转DataFrame并重命名字段匹配目标表头 df = pd.DataFrame(key_records) df = df.rename(columns={ "clientId": "clientID", "createdOn": "createdon" }) # 固定列顺序和目标CSV一致 df = df[["clientID", "createdon"]] # 导出CSV,index=False去掉pandas默认生成的行号列 df.to_csv("output.csv", index=False, encoding="utf-8")
运行后生成的output.csv就是标准CSV格式,如果需要和你示例里的宽间距对齐效果,把导出代码改成df.to_csv("output.csv", index=False, encoding="utf-8", sep="\t"),用制表符分隔即可。
无第三方依赖的纯Python实现
如果不想安装pandas,直接用Python内置的json和csv模块也能实现:
import json import csv with open("input.json", "r", encoding="utf-8") as f: raw_data = json.load(f) key_records = raw_data["data"]["clientApplicationRsaKeyss"] with open("output.csv", "w", encoding="utf-8", newline="") as f: writer = csv.DictWriter(f, fieldnames=["clientID", "createdon"]) writer.writeheader() for record in key_records: writer.writerow({ "clientID": record["clientId"], "createdon": record["createdOn"] })
内容的提问来源于stack exchange,提问作者user11429634
相关产品推荐
相关产品推荐

