如何使用Power Query将列结构JSON导入Excel并生成规范表格?
用Power Query将列数组式JSON转成行式表格
方法一:可视化操作步骤
导入JSON到Power Query
- 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「自文件」→ 「自JSON」,选择目标JSON文件完成导入。
- 若你是复制的JSON文本,可选择「获取数据」→ 「自其他来源」→ 「自空白查询」,进入编辑器后在公式栏输入
Json.Document("你的JSON文本内容")并回车。
将记录转成表格
- 导入后会看到记录格式的数据(显示为
[Column1, Column2, Column3]),点击「转换」选项卡 → 「到表格」,直接确认默认设置即可。 - 此时生成两列:「属性」(存储列名)和「值」(存储对应数组)。
- 导入后会看到记录格式的数据(显示为
转置表格
- 选中整个表格,点击「转换」→ 「转置」,转置后第一行是原JSON的列名(Column1、Column2、Column3),第二行是对应的数组列表。
同步展开所有数组为行
- 按住Ctrl选中所有列,点击「转换」→ 「展开到新行」。
- 完成后即可得到每行对应一组数据的行式表格,最后点击「关闭并上载」就能导入Excel。
方法二:直接编写M代码(更高效)
熟悉Power Query M语言的话,可直接替换空白查询的代码:
let // 替换为你的JSON文件路径,或直接用Json.Document("JSON文本内容") Source = Json.Document(File.Contents("C:\你的文件路径\example.json")), // 提取记录中所有数组组成列表 ColumnLists = Record.ToList(Source), // 按位置合并数组,生成每行的元素集合 ZippedRows = List.Zip(ColumnLists), // 从合并后的列表生成表格,用原JSON的键作为列名 ResultTable = Table.FromRows(ZippedRows, Record.FieldNames(Source)) in ResultTable
写完点击「运行」,再执行「关闭并上载」即可。
内容的提问来源于stack exchange,提问作者ams1
相关产品推荐
相关产品推荐

