JSON 数据轻松转 Excel:从入门到精通的实用指南
在当今数据驱动的时代,JSON(JavaScript Object Notation)因其轻量、易读和易于机器解析的特性,已成为 Web 开发和 API 数据交换的事实标准,对于许多非技术人员或需要进行数据分析、报告的用户来说,Excel 这种直观、强大的电子表格格式更为熟悉和实用,将 JSON 数据转换为 Excel 文件是一项非常常见的需求。
本文将为你提供一份详尽的指南,从最简单的方法到更灵活的编程实现,手把手教你如何将 JSON 数据转换为 Excel,并解答过程中可能遇到的常见问题。
为什么需要将 JSON 转换为 Excel?
在开始转换之前,我们不妨先思考一下为什么需要这么做:
- 数据分析与可视化:Excel 拥有强大的数据透视表、图表和函数功能,能让你轻松地对 JSON 数据进行排序、筛选、计算和可视化。
- 数据报告与共享:对于不熟悉 JSON 格式的同事或客户,以 Excel 形式呈现数据更易于阅读和理解,也方便打印和分发。
- 数据编辑与修改:在 Excel 中修改数据比在文本编辑器中手动修改 JSON 文件要直观和高效得多,尤其对于大型数据集。
- 数据持久化:Excel 文件(如
.xlsx)是一种非常普遍的办公文档格式,方便长期保存和归档。
准备工作:你的 JSON 数据长什么样?
JSON 的结构非常灵活,主要分为两种基本类型,这直接影响我们转换的策略:
-
简单列表 (Array of Objects):这是最理想、最容易转换的格式,一个 JSON 数组,其中每个元素都是一个对象,对象的键就是 Excel 的列名。
[ { "姓名": "张三", "部门": "技术部", "工资": 12000 }, { "姓名": "李四", "部门": "市场部", "工资": 9500 }, { "姓名": "王五", "部门": "技术部", "工资": 13500 } ]转换后,将得到一个完美的三列表格。
-
嵌套或复杂数据:JSON 对象中可能包含嵌套的对象或数组。
{ "公司名称": "某科技有限公司", "员工列表": [ { "姓名": "张三", "联系方式": { "邮箱": "zhangsan@example.com", "电话": "13800138000" } }, { "姓名": "李四", "联系方式": { "邮箱": "lisi@example.com", "电话": "13900139000" } } ] }对于这种结构,直接转换会比较复杂,通常需要先对数据进行“扁平化”处理。
方法一:使用在线转换工具(最简单快捷)
如果你不想安装任何软件或编写代码,在线工具是最佳选择。
优点:无需技术背景,操作简单,上传文件即可下载结果。 缺点:处理大数据量或敏感数据时有安全风险,功能有限。
操作步骤:
- 搜索工具:在搜索引擎中输入“JSON to Excel converter”或“JSON转Excel”,会出现大量在线工具,如
ConvertJSON.com、Aconvert.com等。 - 上传文件:打开一个信誉良好的网站,找到上传区域,选择你的 JSON 文件。
- 选择选项:部分工具会提供选项,例如选择工作表名称、是否包含标题行等。
- 开始转换:点击“Convert”或“转换”按钮。
- 下载结果:转换完成后,网站会提供下载链接,点击即可保存为
.xlsx或.xls文件。
适用人群:偶尔需要转换、数据量不大且不涉及敏感信息的用户。
方法二:使用 Python(最灵活强大)
对于开发者或需要处理大量、复杂数据的用户,使用 Python 是最灵活、最可靠的方法,我们将介绍两个最流行的库:pandas 和 openpyxl。
第一步:安装必要的库
如果你的电脑上还没有安装 Python 和 pip,请先安装它们,然后打开终端或命令行工具,执行以下命令:
pip install pandas openpyxl
pandas:强大的数据分析库,能轻松处理各种格式的数据。openpyxl:一个用于读写.xlsx文件的库,pandas在写入 Excel 时会用到它。
第二步:编写转换脚本
假设你的 JSON 文件名为 data.json如上文的“简单列表”所示。
import pandas as pd
# 1. 读取 JSON 文件
# pandas.read_json() 可以直接读取本地 JSON 文件或 URL
df = pd.read_json('data.json')
# 2. (可选) 查看数据前几行,确保读取正确
print("数据预览:")
print(df.head())
# 3. 将 DataFrame 写入 Excel 文件
# index=False 表示不将 DataFrame 的索引(0, 1, 2...)写入 Excel
df.to_excel('output.xlsx', index=False, engine='openpyxl')
print("\n转换成功!文件已保存为 output.xlsx")
如何处理嵌套 JSON?
对于嵌套的 JSON,pandas 默认可能会将其解析为复杂的对象,这时,我们需要先将其“扁平化”。
import pandas as pd
import json
# 假设这是一个嵌套的 JSON 字符串
nested_json_string = """
{
"公司名称": "某科技有限公司",
"员工列表": [
{ "姓名": "张三", "联系方式": { "邮箱": "zhangsan@example.com", "电话": "13800138000" } },
{ "姓名": "李四", "联系方式": { "邮箱": "lisi@example.com", "电话": "13900139000" } }
]
}
"""
# 1. 将 JSON 字符串解析为 Python 字典
data_dict = json.loads(nested_json_string)
# 2. 提取我们需要的列表部分(通常嵌套的 JSON 主体是一个列表)
# 如果整个 JSON 就是一个对象,我们可以先提取其关键列表
employee_list = data_dict['员工列表']
# 3. 使用 pandas.json_normalize() 进行扁平化处理
# 这个函数专门用来将嵌套的 JSON 转化为扁平的表格
# record_path 指定要列表化的路径
# meta 可以保留一些顶级信息
df = pd.json_normalize(employee_list, record_path=None, meta=['公司名称'])
# 4. 写入 Excel
df.to_excel('nested_output.xlsx', index=False, engine='openpyxl')
print("嵌套 JSON 转换成功!")
适用人群:开发者、数据分析师、需要自动化处理流程的用户。
方法三:使用 Microsoft Excel(内置功能)
较新版本的 Excel(如 Excel 2016 及以上,Microsoft 365)内置了直接导入 JSON 数据的功能。
优点:无需任何外部工具,直接在 Excel 内完成。 缺点:功能相对基础,处理复杂嵌套 JSON 时可能力不从心。
操作步骤:
- 打开 Excel,点击顶部菜单栏的 “数据” (Data) 选项卡。
- 在 “获取与转换数据” (Get & Transform Data) 组中,点击 “从文件” (From File) -> “从 JSON” (From JSON)。
- 在弹出的文件对话框中,选择你的 JSON 文件并点击“打开”。
- Excel 的“Power Query 编辑器”将会启动,在这里你可以预览数据,并进行清洗和转换,你可以展开嵌套的字段,或者对数据进行其他操作。
- 调整完成后,点击左上角的 “关闭并加载” (Close & Load)。
- 数据将被加载到一个新的工作表中,此时你可以像操作普通数据一样将其另存为
.xlsx文件。
适用人群:日常使用 Excel 的办公用户,希望在不离开 Excel 环境下完成转换。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 在线工具 | 简单快捷,无需安装 | 安全风险,功能有限,有文件大小限制 | 偶尔转换,数据量小,非敏感数据 |
| Python | 最强大灵活,可处理大数据和复杂逻辑,可自动化 | 需要编程知识,环境配置 | 开发者、数据分析师、批量处理、复杂转换 |
| Excel内置 | 无需额外工具,集成度高 | 功能相对基础,处理复杂 JSON 能力弱 | 日常办公,简单直接的转换需求 |
给你的建议:
- 如果你是普通用户,只是偶尔转换一下文件,在线工具或Excel内置功能就完全足够了。
- **如果你是开发者



还没有评论,来说两句吧...