Excel轻松转JSON:多种实用方法详解
在数据处理中,Excel和JSON是两种常用的文件格式:Excel擅长表格化存储和编辑,而JSON则是Web开发、API交互中轻量级的数据交换格式,将Excel转换为JSON,能更方便地实现数据在前端与后端之间的传递,本文将详细介绍4种实用的Excel转JSON方法,从手动操作到自动化工具,覆盖不同需求的用户。
手动复制粘贴(适合少量数据)
如果Excel表格数据量较小(如10行以内),手动复制粘贴是最直接的方式,无需借助额外工具。
操作步骤:
-
整理Excel结构
确保Excel表格结构清晰:第一行作为JSON的键名(key),下方每一行对应一个JSON对象(value),表格包含“姓名”“年龄”“城市”三列,第一行即为这三个字段,后续每行是具体数据。
示例表格:
| 姓名 | 年龄 | 城市 |
|------|------|------|
| 张三 | 25 | 北京 |
| 李四 | 30 | 上海 | -
构建JSON格式
根据表格结构手动编写JSON:- 键名用双引号包裹,值根据类型用双引号(字符串)、数字(年龄)或布尔值表示。
- 每个对象用 包裹,多个对象用 分隔,整体用
[]包裹(形成JSON数组)。
转换后的JSON:
[ { "姓名": "张三", "年龄": 25, "城市": "北京" }, { "姓名": "李四", "年龄": 30, "城市": "上海" } ]
优缺点:
- 优点:无需工具,操作简单,适合临时少量数据转换。
- 缺点:数据量大时易出错,效率极低。
使用Excel内置功能(适合中等数据量)
Excel 2016及以上版本或Microsoft 365支持通过“获取和转换”(Power Query)功能将表格导出为JSON,适合几十到几百行的数据。
操作步骤(以Excel 365为例):
-
选中数据并打开Power Query
打开Excel文件,选中需要转换的表格区域(含表头),点击顶部菜单栏的“数据”选项卡,选择“从表格/区域”,在弹出的对话框中勾选“表包含标题”,点击“确定”。 -
加载到Power Query编辑器
数据会加载到Power Query编辑器中,检查表格结构是否正确(列名、数据类型等),如有异常可在此处调整(如修改列名、转换数据格式)。 -
导出为JSON
点击顶部菜单栏的“文件”→“导出”→“创建连接文件”→“JSON文件”,选择保存路径,输入文件名,点击“保存”。 -
验证结果
导出后用记事本或VS Code打开JSON文件,检查数据是否完整(如日期、数字是否格式正确)。
优缺点:
- 优点:无需安装额外插件,可处理中等数据量,支持数据清洗(如去重、格式调整)。
- 缺点:步骤稍繁琐,Excel 2016以下版本不支持。
借助在线转换工具(适合无编程基础用户)
如果不想安装软件或使用Excel功能,在线转换工具是便捷选择,只需上传Excel文件即可自动生成JSON。
常用工具推荐:
- ConvertCSV(https://www.convertcsv.com/excel-to-json.htm)
- Ablebits Excel to JSON Converter(在线版)
- JSONFormatter(https://jsonformatter.org/excel-to-json)
操作步骤(以ConvertCSV为例):
-
上传Excel文件
打开在线工具页面,点击“Choose File”或“上传”,选择本地Excel文件(支持.xlsx/.xls格式)。 -
配置转换参数
- 选择“JSON Array”(JSON数组)或“JSON Objects”(JSON对象),通常推荐“JSON Array”(更符合API数据格式)。
- 确认“Key Row”(键名行)是否为Excel第一行(默认自动识别)。
- 部分工具支持“数据类型选择”(如将日期转为字符串或时间戳)。
-
下载JSON文件
点击“Convert”或“转换”,等待几秒后页面会显示JSON预览,点击“Download”或“下载”保存文件。
注意事项:
- 数据安全:避免上传包含敏感信息(如身份证号、密码)的Excel文件,以防数据泄露。
- 格式兼容性:部分在线工具对复杂格式(如合并单元格、公式计算值)支持不佳,建议提前清理表格(如取消合并单元格、仅保留值)。
优缺点:
- 优点:操作简单,无需安装,适合临时转换。
- 缺点:依赖网络,数据安全性低,不适合处理敏感或大规模数据。
编程实现(适合批量/自动化转换)
如果需要频繁转换或处理大规模数据(如上万行),通过编程实现更高效,Python是常用工具,借助pandas和json库可快速完成转换。
准备工作:
安装Python环境(官网下载:https://www.python.org/),并安装所需库:
pip install pandas openpyxl # openpyxl用于读取.xlsx文件
Python代码示例:
import pandas as pd
import json
# 读取Excel文件(支持.xlsx和.xls)
# sheet_name=0表示读取第一个工作表,header=0表示第一行为列名
df = pd.read_excel('data.xlsx', sheet_name=0, header=0)
# 将DataFrame转为JSON
# orient='records'表示每行转为一个JSON对象,整体为数组
# force_ascii=False避免中文被转义,indent=4格式化输出(可选)
json_data = df.to_json(orient='records', force_ascii=False, indent=4)
# 保存到JSON文件
with open('output.json', 'w', encoding='utf-8') as f:
f.write(json_data)
print("转换完成!JSON文件已保存为output.json")
代码说明:
pd.read_excel():读取Excel文件,sheet_name可指定工作表名(如“Sheet1”),header可指定键名行(如无表头设为None)。to_json():核心转换方法,orient参数支持多种格式(如'records'、'values'、'index'),推荐'records'生成标准JSON数组。force_ascii=False:确保中文正常显示,避免被转为\u编码。
优缺点:
- 优点:自动化处理,支持大规模数据,可自定义格式(如字段映射、过滤数据),适合开发者和数据分析师。
- 缺点:需基础编程知识,需安装Python环境。
如何选择合适的方法?
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 手动复制粘贴 | 少量数据(<10行),临时需求 | 无需工具,简单直接 | 效率低,易出错 |
| Excel内置功能 | 中等数据量(几十到几百行),需清洗数据 | 无需安装,支持数据预处理 | 步骤稍多,低版本Excel不支持 |
| 在线转换工具 | 无编程基础,临时转换非敏感数据 | 操作简单,无需安装 | 数据安全风险,复杂格式支持差 |
| 编程实现 | 大规模数据,批量/自动化转换 | 高效灵活,可自定义逻辑 | 需编程基础,环境配置 |
根据自身需求选择合适的方法,即可轻松将Excel转换为JSON格式,让数据在不同场景间自由流转。



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