📜  将多个 JSON 文件转换为 CSV Python(1)

📅  最后修改于: 2023-12-03 14:53:49.067000             🧑  作者: Mango

将多个 JSON 文件转换为 CSV Python

有时候我们需要将多个 JSON 文件合并并转换为 CSV 文件,以便进行后续数据分析等操作。下面我们将介绍如何使用 Python 实现该功能。

步骤
  1. 确定需要合并的 JSON 文件路径,并导入必要的模块。

    import json
    import csv
    import os
    
    paths = ['file1.json', 'file2.json', 'file3.json']  # 需要合并的 JSON 文件路径
    
  2. 遍历每个 JSON 文件,将其转换为 Python 中的字典对象,并添加到列表中。

    data = []
    for path in paths:
        with open(path, 'r', encoding='utf-8') as f:
            json_data = json.load(f)
        data.extend(json_data)  # 将字典对象添加到列表中
    
  3. 将字典列表转换为 CSV 文件,确定 CSV 文件路径并导入必要的模块。

    csv_path = 'merged_data.csv'  # CSV 文件路径
    
    with open(csv_path, 'w', newline='', encoding='utf-8') as f:
        writer = csv.DictWriter(f, fieldnames=data[0].keys())  # 创建 writer 对象
        writer.writeheader()  # 写入表头
        writer.writerows(data)  # 写入数据
    

完整代码如下:

import json
import csv
import os

paths = ['file1.json', 'file2.json', 'file3.json']  # 需要合并的 JSON 文件路径

data = []
for path in paths:
    with open(path, 'r', encoding='utf-8') as f:
        json_data = json.load(f)
    data.extend(json_data)  # 将字典对象添加到列表中

csv_path = 'merged_data.csv'  # CSV 文件路径

with open(csv_path, 'w', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=data[0].keys())  # 创建 writer 对象
    writer.writeheader()  # 写入表头
    writer.writerows(data)  # 写入数据

此时,我们已经成功将多个 JSON 文件转换为 CSV 文件,可以随时对数据进行后续分析或处理。

总结

本文介绍了如何使用 Python 将多个 JSON 文件合并并转换为 CSV 文件。具体步骤如下:

  1. 确定需要合并的 JSON 文件路径,并导入必要的模块。

  2. 遍历每个 JSON 文件,将其转换为 Python 中的字典对象,并添加到列表中。

  3. 将字典列表转换为 CSV 文件,确定 CSV 文件路径并导入必要的模块。

需要注意的是,当 JSON 文件比较大时,可能需要进行分段读取和写入以避免内存不足等问题。