如何将含JSON格式数据的Excel文件转换为表格格式?
嘿,这个需求我之前帮朋友处理过,其实有两种靠谱的方法可以搞定,分场景给你唠唠:
方法1:用Python + Pandas快速转换(适合有编程基础的同学)
假设你的Excel文件叫data.xlsx,只有一列(比如列名是json_col),每行都是类似[{"name":"val","age":"100"}]的JSON数组。
步骤很简单:
- 先装依赖包:打开命令行运行
pip install pandas openpyxl - 然后复制这段代码,修改文件名和列名就行:
import pandas as pd import json # 读取目标Excel文件 df = pd.read_excel("data.xlsx") # 定义解析每行JSON的函数 def parse_single_json(json_str): # 解析JSON数组,取第一个对象(和你的示例匹配) json_obj = json.loads(json_str)[0] # 把键值对转成小表格 return pd.DataFrame(list(json_obj.items()), columns=["字段名", "值"]) # 把所有行的解析结果合并成一个大表格 final_result = pd.concat(df["json_col"].apply(parse_single_json).tolist(), ignore_index=True) # 保存成新的Excel文件 final_result.to_excel("转换后表格.xlsx", index=False)
运行后你就能得到和示例一致的表格,字段名列对应name、age,值列对应val、100。
方法2:用Excel自带的Power Query(完全不用写代码)
要是你不想碰代码,用Excel自带的Power Query就能搞定,步骤超直观:
- 打开你的Excel文件,选中存放JSON数据的那一列(比如A列)
- 点击顶部菜单栏的数据选项卡,选择从表格/范围(弹出对话框时,勾选“我的表格有标题”,点确定)
- 进入Power Query编辑器后,选中JSON列,点击添加列选项卡,选择自定义列
- 在公式框里输入:
Json.Document([你的列名]){0}(比如列名是Column1,就写Json.Document([Column1]){0},{0}是取数组里的第一个对象,和你的示例匹配) - 点击确定后,新列会显示展开的JSON对象,点击列标题旁的展开箭头,选择展开到新行(这样每个键值对就会变成单独一行)
- 把列名改成你想要的(比如“字段名”和“值”),最后点击关闭并上载,转换好的表格就会出现在新工作表里啦!
补充一句:如果你的JSON数组里有多个对象,只需要调整对应的部分——Python里循环遍历数组元素,Power Query展开时选“展开到新行”即可。
内容的提问来源于stack exchange,提问作者Rcode




