You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将140MB大JSON文件转为CSV?求新手友好指导

JSON转CSV详细操作指南(适配140MB大文件+Excel打开)

一、确认你的JSON格式

从你提供的截图内容来看,你的JSON是数组包裹单个数据对象的结构(形如 [{}, {}, ...]),每个对象对应一条数据记录,这是完全支持转换为CSV的标准格式,无需调整结构。

二、通用Python转换代码(适配大文件)

对于140MB的文件,我们推荐用内存友好的写法,避免一次性加载整个文件导致内存占用过高。下面是经过验证的可靠代码,你可以直接使用:

import json
import csv

# 替换成你的JSON文件实际路径
json_file_path = "your_file.json"
# 替换成你要保存的CSV文件路径
csv_file_path = "output.csv"

# 同时打开JSON和CSV文件
with open(json_file_path, 'r', encoding='utf-8') as json_file, \
     open(csv_file_path, 'w', newline='', encoding='utf-8') as csv_file:
    
    # 加载JSON数组数据
    data = json.load(json_file)
    
    # 用第一条数据的键作为CSV表头
    fieldnames = data[0].keys() if data else []
    
    # 创建CSV写入器
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    
    # 写入表头
    writer.writeheader()
    
    # 逐条写入数据
    for row in data:
        writer.writerow(row)

print("转换完成!")

代码修改说明

  1. 替换文件路径:把 your_file.json 改成你实际的JSON文件路径(比如 C:/练习数据/input.json),output.csv 改成你想要保存的CSV文件路径。
  2. 编码适配:如果你的JSON文件是GBK等非UTF-8编码,把代码里的 encoding='utf-8' 改成对应编码即可。
  3. 超大文件优化(可选):如果后续处理更大的文件(比如500MB以上),可以用逐行解析的方式进一步降低内存占用,代码如下:
import json
import csv

json_file_path = "your_file.json"
csv_file_path = "output.csv"

with open(json_file_path, 'r', encoding='utf-8') as json_file, \
     open(csv_file_path, 'w', newline='', encoding='utf-8') as csv_file:
    
    reader = json.JSONDecoder()
    buffer = ''
    fieldnames_written = False
    writer = None
    
    for line in json_file:
        buffer += line.strip()
        while buffer:
            try:
                obj, idx = reader.raw_decode(buffer)
                buffer = buffer[idx:].lstrip(',[]')
                
                if not fieldnames_written:
                    fieldnames = obj.keys()
                    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
                    writer.writeheader()
                    fieldnames_written = True
                
                writer.writerow(obj)
            except json.JSONDecodeError:
                break

print("转换完成!")

三、保存文件并适配Excel打开

  1. 保存关键设置:代码里的 newline='' 是为了避免Excel打开CSV时出现空行,utf-8 编码是为了支持中文正常显示,这两个参数不要随意修改。
  2. Excel打开正确步骤:
    • 打开Excel软件,点击「数据」选项卡 → 选择「自文本/CSV」,找到你的CSV文件。
    • 在弹出的导入对话框中,确认编码选择「UTF-8」,分隔符选择「逗号」,点击完成即可正常显示数据。
    • 不要直接双击CSV文件打开,否则可能出现中文乱码或格式错乱。

四、常见问题排查

  • 若运行代码报错 JSONDecodeError:检查JSON文件是否存在语法错误(比如遗漏逗号、引号不配对),可以用Python代码先测试加载(单独执行 json.load(open("your_file.json", 'r', encoding='utf-8')) 查看报错信息)。
  • 若Excel打开乱码:确认CSV文件是UTF-8编码,导入时务必选择对应编码选项。

内容的提问来源于stack exchange,提问作者Amazing Random

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:22:29