Python实现JSON转CSV:生成正确表头并提取指定字段
解决Pandas将嵌套JSON转CSV时记录在单个单元格的问题
你的问题出在JSON结构上:外层是包含issues数组的对象,直接用pd.read_json()会把整个数组当作DataFrame的一列,导致每条记录挤在单个单元格里。以下是修正方案,同时实现指定字段提取:
修正后的代码
import pandas as pd import json # 读取并解析JSON文件 with open(r'C:\Users\anath\hard.json', encoding='utf-8') as inputfile: json_data = json.load(inputfile) # 从issues数组生成标准结构的DataFrame df = pd.DataFrame(json_data['issues']) # 筛选需要保留的字段(可按需添加更多) target_fields = ['issueId', 'title', 'severity'] filtered_df = df[target_fields] # 导出为CSV,关闭默认索引列 filtered_df.to_csv(r'C:\Users\anath\csvfile.csv', encoding='utf-8', index=False)
关键步骤说明
- 先用
json.load()解析完整JSON对象,直接获取内层的issues数组,这是生成正确结构DataFrame的核心 pd.DataFrame()会自动将数组中的每个对象转为一行,对象的键转为表头,值对应到列中- 通过列名列表筛选字段,只保留你需要的
issueId、title、severity等数据 index=False避免CSV中出现多余的自动索引列,让输出格式更符合需求
内容的提问来源于stack exchange,提问作者user3754136
相关产品推荐
相关产品推荐

