将 JSON 转换为 CSV:免费工具 & Python 自动化

在数据处理领域,JSON 和 CSV 是两种应用最广泛的格式。JSON 擅长存储和传输结构化数据(尤其支持嵌套结构),广泛应用于 API 接口、Web 应用和数据库;而 CSV 以“纯文本+表格化”的特性,成为电子表格、数据分析工具的首选格式,数据共享效率极高。因此,将 JSON 转换为 CSV 是营销人员、数据分析师、开发人员必备的基础技能。

本文将介绍几种可靠的 JSON 转 CSV 方法 —— 从适合初学者的在线工具,到面向开发人员的代码化解决方案。无论是处理小型 JSON 文件还是大型数据集,都能在这里找到合适的方法。

目录:

JSON 和 CSV 是什么?快速概述

在开始转换前,先明确两种格式的核心差异,才能避免转换后数据错乱:

  • JSON(JavaScript对象表示法)
    结构灵活,支持键值对、嵌套字典/数组(比如“用户信息”里包含“联系方式”子对象),可读性强,但无法直接用 Excel 打开分析。
  • CSV(逗号分隔值)
    纯文本格式,数据以“行+列”呈现,逗号分隔列、换行分隔行,无嵌套结构,可直接导入电子表格工具,但不支持复杂层级数据。

简单说:JSON 转 CSV 的核心是扁平化,即把嵌套的层级结构拆分为独立列,让复杂数据适配表格化工具的需求。

方法一:使用 JSON 转 CSV 在线转换器(快捷简便)

在线转换器是最快的转换方式,非常适合一次性任务、小型数据集,或无编程经验的用户。这类基于网页的工具会在浏览器中完成全部转换操作。

具体步骤:

  1. 选择可靠的在线转换器

搜索 “免费 JSON 转 CSV 转换器”,选择简洁好用的工具,例如:JSON-CSV.com(支持嵌套结构)、Aconvert.com。对于敏感数据,可选择能在浏览器本地处理文件,无需上传至服务器的工具。

  1. 准备 JSON 数据

确保您的 JSON 格式正确且有效。大多数转换器遇到格式错误的 JSON 时,要么无响应,要么生成异常结果。结构为对象数组的 JSON 转换效果最佳:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[
{
"产品编号": "P001",
"产品名": "投影仪",
"单价": 1299.99,
"库存": "有货",
"产品类目": "电子产品"
},
{
"产品编号": "P002",
"产品名": "纯棉T恤",
"单价": 89.9,
"库存": "缺货",
"产品类目": "服饰"
}
]

实用技巧:如果不确定文件结构是否正确,可使用 JSONLint 等 JSON 验证工具检查(粘贴后点击 “Validate”,绿灯即合格)。

  1. 导入 JSON 数据

优质的转换器会提供多种输入方式:

  • 点击 “导入” 或类似按钮,选择本地 .json 文件;
  • 粘贴文本:直接把 JSON 字符串复制到输入框;
  • 读取 URL:输入包含 JSON 数据的公共 URL 即可自动抓取。
  1. 配置转换设置(高级选项)

许多转换器支持自定义配置:

  • 分隔符:选择逗号(标准)、分号、制表符或竖线
  • 编码:UTF-8 是标准编码,支持中文、特殊字符
  • 表头行:选择是否包含列标题
  • 嵌套处理:选择是否扁平化嵌套对象
  1. 转换并下载

点击转换按钮,几秒内即可看到预览结果。然后下载转换后的 CSV 文件到本地,并在 Excel 或任意电子表格软件中打开,验证转换结果。

使用 JSON-CSV.com 转换的示例:

免费JSON转CSV在线转换器

注意事项: 在线工具通常有文件大小限制,对深度嵌套的 JSON 处理效果可能不佳,且涉及敏感数据时存在安全风险。

方法二:在 Python 中转换 JSON 为 CSV(灵活可扩展)

对于重复转换、大型数据集、复杂 JSON 结构,或自动化工作流场景,使用 Python 是最高效的选择。在 Python 丰富的数据处理库生态中,Free Spire.XLS for Python 是一款功能强大的库,可简化 JSON 转 CSV(或 CSV 转 JSON)的操作。

  1. 安装免费 Python 库

确保已安装 Python,然后打开终端或命令提示符,运行以下 pip 命令安装 Free Spire.XLS 库:

1
pip install Spire.Xls.Free
  1. 将 JSON 文件转换为 CSV 的 Python 代码

此脚本适用于扁平结构的 JSON 文件(无嵌套数据):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import json
from spire.xls import *

# 加载JSON数据
with open('信息.json', encoding="utf-8") as f:
data = json.load(f)

# 创建工作簿和工作表
workbook = Workbook()
sheet = workbook.Worksheets[0]
# 从JSON键中提取表头
headers = list(data[0].keys())

# 将表头写入第一行
for col, header in enumerate(headers, start=1):
sheet.Range[1, col].Value = header

# 将每个JSON对象的值填充到后续行中
for row_index, item in enumerate(data, start=2):
for col_index, key in enumerate(headers, start=1):
value = item.get(key, "")
sheet.Range[row_index, col_index].Value = str(value) if value is not None else ""

# 将工作表另存为CSV文件
sheet.SaveToFile("输出.csv", ",", Encoding.get_UTF8())
workbook.Dispose()

核心代码说明

  • json.load(f):将 JSON 内容解析为 Python 列表 / 字典。;
  • Workbook():创建 Excel 工作簿(无需手动打开 Excel);
  • data[].keys():从 JSON 列表的键中提取列标题;
  • Worksheet.Range[].Value:向指定单元格写入文本 / 值(Spire.XLS 的行列索引从 1 开始);
  • item.get(key, ""):安全获取每个键对应的值(若键不存在则返回空字符串,避免脚本报错);
  • SaveToFile(filename, delimiter, encoding):将工作表导出为 CSV 文件,可指定分隔符、编码等参数。

转换结果:

Python转换JSON到CSV

实际业务中的 JSON 通常包含嵌套结构。如需处理包含字典和数组的嵌套 JSON,可参考该详细教程:Python JSON 转 CSV 完整教程:支持扁平与嵌套 JSON

方法三:使用 Excel 可视化操作(图形界面友好)

对于偏好图形界面,或需要在转换过程中手动核对数据的用户,Microsoft Excel 提供了内置功能:导入 JSON 并另存为 CSV 格式。操作步骤如下:

  1. 打开 Excel,新建空白工作簿;
  2. 导入 JSON 文件:切换至 “数据” 选项卡 > “获取数据” > “自文件” > “自 JSON”;
  3. 选择目标 JSON 文件并点击 “导入”,Excel 会打开 “Power Query 编辑器” 窗口;
  4. 点击功能区中的 “到表”,将 JSON 结构转换为表格;

导入JSON至Excel

  1. 点击列标题旁的双箭头图标,勾选需要拆分的嵌套字段,然后点击 “确定” 自动拆分嵌套列;
  2. 根据需要,使用 Power Query 直观的界面调整数据;

在Excel中拆分嵌套JSON字段

  1. 数据格式调整完成后,点击 “关闭并上载”,将加载数据到 Excel 工作表;
  2. 保存为 CSV 格式:点击 “文件” > “另存为”,选择 “CSV(逗号分隔)(*.csv)” 作为文件格式,点击 “保存”。

在Excel中拆分嵌套JSON字段

实用技巧:数据源更新后,右键点击 Excel 中的数据区域的 “刷新”,自动同步最新 JSON 数据并更新 CSV(无需重复导入步骤),非常适合用于制作定期报表。

延伸阅读: 如何将 CSV 转换为 TXT:4种高效方法

JSON 转 CSV 方法对比

根据数据集大小、技术能力和安全需求选择合适的方法:

对比维度 在线转换器 Python 脚本 Excel 可视化操作
适用场景 一次性、小文件、零基础 自动化、大文件、嵌套 JSON 手动核对、后续编辑、数据源更新
操作难度 🌟 极低(点击3步完成) 🌟🌟 中等(需基础Python) 🌟 低(图形界面)
可定制性 🌟 低(仅基础配置) 🌟🌟🌟 高(自由修改脚本) 🌟🌟 中(Power Query 调整)
数据安全 🌟 低(部分需上传服务器) 🌟🌟🌟 高(本地执行) 🌟🌟 中(本地文件,需注意共享)
嵌套JSON支持 部分支持(简单嵌套) 完全支持(复杂嵌套) 完全支持(手动拆分)

避坑指南:JSON 转 CSV 最佳实践

  1. 验证JSON格式:用 JSONLint 验证,避免因缺少括号、逗号导致转换失败;
  2. 保留数据类型: CSV 默认将所有数据转为文本,若需保留数字/日期格式,转换后在 Excel 中手动设置数据格式(如“数字”“日期”);
  3. 处理空值/缺失值:统一空值表示(如用空字符串、“NA”代替),避免 CSV 中出现 “None” “null” 等无效值;
  4. 编码统一用 UTF-8:无论哪种方法,都选择 UTF-8 编码,避免中文、特殊字符(如表情、外文)乱码;
  5. 用样本数据测试:转换大文件前,先用少量 JSON 数据测试转换效果,确认字段拆分正确后再批量转换;

文章小结

将 JSON 转换为 CSV 是数据处理中的一项基础技能。无论您是需要快速转换的初学者(使用在线工具)、需要自动化流程的开发人员(使用 Python),还是需要手动核对数据的分析师(使用 Excel),本文中介绍的方法都能满足您的需求。借助这些工具和最佳实践,您只需几分钟就能将层级化的 JSON 数据转换为可用的 CSV 文件,实现与电子表格、数据分析工具和报表系统的无缝集成。

常见问题答疑

问题 1:可以免费将 JSON 转换为 CSV 吗?

:可以。有许多免费工具可供选择,包括在线转换器、Python 结合 Free Spire.XLS 库(有一定页数限制)。

问题 2:能将嵌套 JSON 转换为 CSV 吗?

:可以,但需要先将嵌套 JSON 扁平化。可使用 Excel 的 Power Query、支持扁平化功能的在线工具,或 Python 内置的 json 模块实现。

问题 3:如何在 Mac 系统上将 JSON 转换为 CSV?

:Mac 用户可使用与 Windows 相同的方法:在线工具、Mac 版 Excel,或 Python(兼容 Mac、Windows 和 Linux 系统)。

问题 4:如何批量转换多个JSON文件?

:推荐用 Python 脚本,在代码中循环读取文件夹内所有 .json 文件,批量生成对应CSV。