如何批量读取JSON文件指定数据并连同文件名导出为CSV?
实现方法
全程用Python标准库就能完成,不需要安装额外第三方包,操作逻辑如下:
- 先把100个待处理的JSON文件统一放到同一个独立文件夹,避免混入其他无关JSON文件导致读取错误。
- 编写脚本遍历该文件夹下所有
.json后缀的文件,逐个读取文件内的字典数据,按要求写入CSV文件即可。
可直接运行的代码
import os import json import csv # 替换为你本地存放JSON文件的实际文件夹路径 JSON_FOLDER = "./your_json_files_path" # 最终生成的CSV文件保存路径 OUTPUT_CSV = "./result.csv" if __name__ == "__main__": # 指定utf-8-sig编码避免Windows下用Excel打开乱码,newline参数避免CSV生成多余空行 with open(OUTPUT_CSV, "w", encoding="utf-8-sig", newline="") as csvf: writer = csv.writer(csvf) # 写入表头 writer.writerow(["filename", "prediction"]) # 遍历文件夹下所有文件 for file_name in os.listdir(JSON_FOLDER): # 仅处理.json后缀的文件 if file_name.endswith(".json"): file_path = os.path.join(JSON_FOLDER, file_name) try: # 读取JSON内容 with open(file_path, "r", encoding="utf-8") as jsonf: pred_data = json.load(jsonf) # 字典序列化为标准JSON字符串写入prediction列 writer.writerow([file_name, json.dumps(pred_data, ensure_ascii=False)]) except Exception as e: print(f"处理文件{file_name}出错:{str(e)}")
注意事项
- 脚本运行后会在指定路径生成
result.csv,filename列存对应JSON文件的文件名,prediction列存JSON文件内的字典数据,后续读取CSV时可以直接用json.loads把单元格内容转回字典结构使用。 - 如果需要把文件名也合并到
prediction列内容里,只需要在写入前给pred_data新增文件名字段即可,比如加一行pred_data["filename"] = file_name再序列化写入。 - 脚本自带基础异常捕获,遇到格式损坏、无法读取的JSON文件会打印错误提示,不会中断整体处理流程。
内容的提问来源于stack exchange,提问作者gyaha
相关产品推荐
相关产品推荐

