使用Python将JSON文件转换为CSV失败,请求排查解决
JSON转CSV失败的问题解决
问题根源
- 你的JSON文件是JSON Lines格式(每行一个独立的JSON对象),而非标准JSON数组(用
[]包裹、对象间用逗号分隔),直接用json.load()会触发解析错误。 - 代码创建DataFrame时参数错误,把
json模块传入了pd.DataFrame(),而非加载后的数据集。 - 代码中打开
Name.csv但未实际使用,属于冗余逻辑。
解决方案
方法一:用Pandas快速处理(推荐)
Pandas原生支持读取JSON Lines格式,只需添加lines=True参数:
import pandas as pd # 读取JSON Lines文件 df = pd.read_json('my_output_file02.json', lines=True) # 保存为CSV,index=False可去掉不必要的索引列 df.to_csv('output.csv', index=False)
方法二:用基础模块手动处理(适合自定义场景)
如果不需要Pandas,用json和csv模块逐行解析:
import json import csv # 定义CSV表头字段 csv_fields = ['url', 'title', 'meta_desc'] with open('my_output_file02.json', 'r') as json_f, open('output.csv', 'w', newline='') as csv_f: csv_writer = csv.DictWriter(csv_f, fieldnames=csv_fields) csv_writer.writeheader() # 写入表头 # 逐行读取并解析JSON for line in json_f: line = line.strip() if not line: continue try: data = json.loads(line) csv_writer.writerow(data) except json.JSONDecodeError as err: print(f"解析行出错: {line}, 错误信息: {err}")
内容的提问来源于stack exchange,提问作者Dheeraj
相关产品推荐
相关产品推荐

