繁体   English   中英

使用 Excel Power Query 提取 JSON 数据

[英]Use Excel Power Query to extract JSON data

我有一个包含 5 列的电子表格。 其中一列包含一个 json 数组(该数组也有嵌套数组)。 是否可以使用 Power Query 编辑器来解析每一行中的 json 数组? 这样每一行都有四个原始列加上 Json 数组和子数组中每个值的新列? 虽然每个 JSON 数组中的数据可能是唯一的,但结构始终相同,尽管元素/子数组的数量会有所波动。 下面是我想要转换的数据以及我想如何转换它的示例。

要转换的数据

ID 场一 第二场 第三场 JSON 字段
1 一种 aa 啊啊啊啊 [{"value":"33","category":"Some Category","code":"some code","id":"1","question":"blah blah blah","sublist": []},{"value":"1","category":"Some Category","code":"another code","id":"2","question":"blah blah","sublist ":[{"sub-category_title":"some title","sub-value":"12"},{"sub-category_title":"另一个标题","sub-value":"122"},{ "sub-category_title":"另一个标题","sub-value":"3"}]},{"value":"2","category":"another Category","code":"another code 333","id":"3","question":"另一个问题","sublist":[{"sub-category_title":"title","sub-value":"3333"}]}]
2 bb bbb [{"value":"11","category":"Some Category 1","code":"some code 1","id":"11","question":"blah blah blah","sublist ":[]},{"value":"22","category":"Some Category","code":"another code","id":"22","question":"blah blah", "sublist":[{"sub-category_title":"some title","sub-value":"12"},{"sub-category_title":"another title","sub-value":"122"} ,{"sub-category_title":"另一个标题","sub-value":"3"},{"sub-category_title":"另一个标题","sub-value":"3"},{ "sub-category_title":"另一个标题","sub-value":"3"}]},{"value":"33","category":"another Category","code":"another code 333","id":"33","question":"另一个问题","sublist":[{"sub-category_title":"title","sub-value":"3333"}]}]
3 C 抄送 抄送 [{"value":"11","category":"Some Category 1","code":"some code 1","id":"11","question":"blah blah blah","sublist ":[]},{"value":"22","category":"Some Category","code":"another code","id":"22","question":"blah blah", "sublist":[]},{"value":"33","category":"another Category","code":"another code 333","id":"33","question":"another问题","子列表":[]}]
4 d 滴滴 [{"value":"11","category":"Some Category 1","code":"some code 1","id":"11","question":"blah blah blah","sublist ":[]}]

输出

ID 场一 第二场 第三场 类别 代码 ID sub-category_title 子值
1 一种 aa 啊啊啊啊 33 某些类别 一些代码 1 等等等等 空值 空值
1 一种 aa 啊啊啊啊 1 某些类别 另一个代码 2 呸呸 一些头衔 12
1 一种 aa 啊啊啊啊 1 某些类别 另一个代码 2 呸呸 另一个标题 122
1 一种 aa 啊啊啊啊 1 某些类别 另一个代码 2 呸呸 又是一个标题 3
1 一种 aa 啊啊啊啊 2 另一个类别 另一个代码 333 3 另一个问题 标题
2 bb bbb 11 某些类别 1 一些代码 1 11 blah blah blah null 空值
2 bb bbb 22 某些类别 另一个代码 22 呸呸 一些头衔
2 bb bbb 22 某些类别 另一个代码 22 呸呸 另一个标题
2 bb bbb 22 某些类别 另一个代码 22 呸呸 又是一个标题
2 bb bbb 22 某些类别 另一个代码 22 呸呸 又是一个标题
2 bb bbb 22 某些类别 另一个代码 22 呸呸 又是一个标题
2 bb bbb 33 另一个类别 另一个代码 333 33 另一个问题 标题
3 C 抄送 抄送 11 某些类别 1 一些代码 1 11 等等等等等等 空值
3 C 抄送 抄送 22 某些类别 另一个代码 22 呸呸 空值
3 C 抄送 抄送 33 另一个类别 另一个代码 333 33 另一个问题 空值
4 d 滴滴 11 某些类别 1 一些代码 1 11 等等等等等等 空值
  • 添加自定义列:

在此处输入图片说明

Formula:  =Json.Document([JSON Field])
  • 将结果列表列扩展为新行; 展开结果记录列(和子列表)

  • 根据需要排列和重命名列

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM