如何将JSON数据转换为Excel:实用指南与工具推荐
在数据处理和分析工作中,JSON(JavaScript Object Notation)和Excel是两种最常用的数据格式,JSON因其轻量、易读和灵活的特性,常用于Web API数据交互、配置文件存储等场景;而Excel则以强大的表格处理、公式计算和可视化功能,成为数据分析和报告输出的首选工具,将JSON数据转换为Excel,能让我们更高效地整理、分析和共享数据,本文将详细介绍转换的常见场景、多种实用方法及具体操作步骤,帮助你轻松完成数据格式转换。
为什么需要将JSON转换为Excel?
在开始转换前,我们先明确两个核心场景,理解转换的必要性:
JSON数据的局限性
JSON本质上是“键值对”的嵌套结构,适合机器解析和传输,但人工处理效率低:
- 无法直接使用Excel的排序、筛选、公式(如VLOOKUP、数据透视表)等核心功能;
- 复杂嵌套数据(如多层对象、数组)的可读性差,难以快速定位关键信息;
- 不支持可视化图表生成,数据分析需依赖额外工具。
Excel的核心优势
Excel作为“数据处理瑞士军刀”,能弥补JSON的不足:
- 结构化呈现:以行列表格形式清晰展示数据,直观易读;
- 高效分析:内置数百个函数、数据透视表、条件格式等工具,支持深度挖掘;
- 协作与输出:方便多人编辑、批注,并能导出为PDF、CSV等多种格式,适配报告、汇报等场景。
JSON转换为Excel的3种实用方法
根据JSON数据的复杂程度(简单扁平结构 vs 复杂嵌套结构)和你的技术背景,可选择以下方法:
方法1:使用Excel内置功能(适合简单JSON)
如果你的JSON数据结构较简单(如单层对象或单层数组,无嵌套),可直接通过Excel的“获取数据”功能快速导入,无需任何工具。
操作步骤:
- 打开Excel,点击顶部菜单栏的“数据”选项卡,选择“获取数据”→“从其他来源”→“从JSON”;
- 在弹出的窗口中,点击“浏览”,选择本地存储的JSON文件(或输入JSON文件的URL,适用于在线API数据);
- 进入“Power Query编辑器”后,Excel会自动解析JSON结构,如果数据是嵌套的,点击字段左侧的“展开”按钮(图标为两个向右的箭头),选择需要展开的子字段;
- 调整列名、数据类型(如文本改为数字、日期)后,点击左上角的“关闭并加载”,数据将自动导入到Excel工作表中。
优点:
- 无需安装额外工具,Excel原生支持;
- 操作简单,适合新手处理简单数据。
缺点:
- 复杂嵌套JSON(如多层对象、数组嵌套对象)解析困难,容易出错;
- 需要手动调整数据结构,效率较低。
方法2:使用Python脚本(适合复杂JSON和批量处理)
Python是数据处理领域的“万能钥匙”,通过pandas和openpyxl库,可灵活处理任意复杂度的JSON数据,并支持自动化批量转换,这是技术人员和数据分析师的首选方法。
准备工作:
安装必要的Python库(通过命令行运行):
pip install pandas openpyxl
操作步骤:
-
准备JSON文件:假设本地有一个名为
data.json的文件,内容如下(包含嵌套对象和数组):[ { "id": 1, "name": "张三", "contact": { "email": "zhangsan@example.com", "phone": "13812345678" }, "orders": [ {"order_id": "A001", "amount": 100, "date": "2023-01-15"}, {"order_id": "A002", "amount": 200, "date": "2023-02-20"} ] }, { "id": 2, "name": "李四", "contact": { "email": "lisi@example.com", "phone": "13987654321" }, "orders": [ {"order_id": "B001", "amount": 150, "date": "2023-01-20"} ] } ] -
编写Python脚本:创建一个名为
json_to_excel.py的文件,输入以下代码:import pandas as pd import json # 读取JSON文件 with open('data.json', 'r', encoding='utf-8') as f: data = json.load(f) # 将JSON数据转换为DataFrame(pandas的核心数据结构) # 如果JSON是数组(如示例),直接传入;如果是对象,需先提取values df = pd.json_normalize(data, record_path=['orders'], # 展开嵌套的orders数组 meta=[['id', 'name'], ['contact', 'email'], ['contact', 'phone']] # 提取元数据 ) # 保存为Excel文件 df.to_excel('output.xlsx', index=False, sheet_name='订单数据') print("JSON数据已成功转换为Excel文件:output.xlsx") -
运行脚本:在命令行中执行
python json_to_excel.py,将在同目录下生成output.xlsx如下:
| order_id | amount | date | id | name | contact_email | contact_phone |
|---|---|---|---|---|---|---|
| A001 | 100 | 2023-01-15 | 1 | 张三 | zhangsan@example.com | 13812345678 |
| A002 | 200 | 2023-02-20 | 1 | 张三 | zhangsan@example.com | 13812345678 |
| B001 | 150 | 2023-01-20 | 2 | 李四 | lisi@example.com | 13987654321 |
关键说明:
pd.json_normalize()是pandas提供的专门处理嵌套JSON的函数,通过record_path指定展开的数组字段,meta指定需要保留的元数据字段;- 如果JSON结构更复杂(如多层嵌套),可多次调用
json_normalize或结合apply函数处理; - 支持批量处理:通过循环读取多个JSON文件,统一转换为Excel。
优点:
- 灵活性强,可处理任意复杂度的JSON;
- 支持自动化和批量处理,效率高;
- 可自定义数据清洗、转换逻辑(如格式化日期、计算衍生字段)。
缺点:
- 需要Python基础,对新手有一定门槛;
- 需要安装额外库(但安装过程简单)。
方法3:使用在线转换工具(适合非技术人员和无编程环境)
如果你不熟悉编程,或只是偶尔需要转换少量JSON数据,在线工具是最便捷的选择。
推荐工具:
- ConvertJSON(https://www.convertjson.com/json-to-excel.htm):界面简洁,支持拖拽上传,实时预览转换结果;
- JSON to Excel Converter(https://www.aconvert.com/cn/json-to-excel/):支持批量上传文件,可自定义Excel列名;
- Online JSON to Excel(https://json-csv.com/):支持将JSON转换为Excel(.xlsx)和CSV格式,操作简单。
操作步骤(以ConvertJSON为例):
- 打开ConvertJSON官网,点击“Choose File”按钮上传本地JSON文件,或直接粘贴JSON代码到文本框;
- 等待工具自动解析JSON,预览转换后的表格数据(可手动调整列顺序或删除不需要的列);
- 点击“Download Excel”按钮,下载转换后的.xlsx文件。
优点:
- 无需安装软件,打开浏览器即可使用;
- 操作简单,适合零基础用户;
- 支持实时预览,可快速检查转换结果。
缺点:
- 依赖网络,文件大小受限(通常支持最大10MB以内文件);
- 处理敏感数据时存在隐私风险(不建议上传包含个人隐私或商业机密的数据);
- 复杂嵌套JSON可能解析失败,需手动调整。
转换后的常见问题与解决方法
JSON数据为空或格式错误
- 原因:JSON文件不符合语法规范(如缺少引号、逗号,或括号不匹配);
- 解决:使用在线JSON格式化工具(如JSONLint,https://jsonlint.com/)校验并修复JSON格式,再重新转换。
Excel中日期显示为数字(如44927)
- 原因:JSON中的日期字符串(如"2023-



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