如何将Python循环提取的JSON数据写入带指定表头的CSV文件?
提取JSON数据并写入带中文表头的CSV文件
解决方案:使用Python内置csv模块
Python的csv模块能安全处理CSV格式写入,自动处理字段中的特殊字符(比如逗号),比手动拼接字符串更可靠。直接修改你的代码如下:
import json import csv # 导入csv模块 # 加载JSON数据(你的原有代码) json_complete = json.load(f) # 打开CSV文件并写入数据 with open('output.csv', 'w', newline='', encoding='utf-8') as csv_file: # 创建CSV写入器 csv_writer = csv.writer(csv_file) # 写入中文表头 csv_writer.writerow(['文档ID', '地点', '日期']) # 遍历提取数据并写入 for i in json_complete['data']: # 更规范的空值判断 if i['topics'] is not None: for x in i['topics']: document_id = x['documentId'] place = x['topicPlaceName'] # 拼接日期(保持你原有的格式) date_str = f"{i['date']['docYear']}-{i['date']['docMonth']}-{i['date']['docDay']}" # 写入单行数据 csv_writer.writerow([document_id, place, date_str])
关键说明
with open(...):自动管理文件打开/关闭,避免资源泄漏encoding='utf-8':确保中文或特殊字符不会出现乱码csv.writer:自动处理CSV分隔符,即使字段包含逗号也不会破坏格式- 替换原有的
print语句为csv_writer.writerow(),直接传入字段列表即可
内容的提问来源于stack exchange,提问作者Clemclem
相关产品推荐
相关产品推荐

