繁体   English   中英

"使用电源查询的 Json excel"

[英]Json to excel using power query

我在一个网站上有一些json ,我想使用from webpower query选项将其转换为excel 但是我遇到了一个小问题。 我的json看起来像这样:

[
    {
        "id" : 1,
        "visitors" : 26,
        "some_number" : 1,
        "value" : 3500
    },
    {
        "id" : 2,
        "visitors" : 21,
        "some_number" : 5,
        "value" : 2000
    }
]

但是当我from web使用时,我得到了这个:

在此处输入图像描述

我可以深入研究记录,将其转换为表格,转置并将第一行用作标题,但然后我只得到一行。 我怎样才能将我的所有数据都放到表中,而不仅仅是一行?

首先,我将使用List Tools / Transform菜单(应该自动选择),然后单击To Table按钮。 这将为您提供一个包含2行的单列表。 然后我会点击小的展开按钮 - 它将出现在列标题中,就在“Column1”的右侧。 取消选中使用原始列名...选项,您将获得一个包含4列和2行的表。

这是我生成的完整脚本:

let
    Source = Json.Document(File.Contents("C:\Users\Mike.Honey\Downloads\json2.json")),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column2" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "visitors", "some_number", "value"}, {"id", "visitors", "some_number", "value"})
in
    #"Expanded Column2" 

Table.FromRecords()函数适用于该示例数据:

let 
    Source = Json.Document("[{""id"": 1, ""visitors"": 26, ""some_number"": 1, ""value"": 3500}, {""id"": 2, ""visitors"": 21, ""some_number"": 5, ""value"": 2000}]"),
    AsTable = Table.FromRecords(Source)
in
    AsTable

显示查询编辑器和高级编辑器界面中使用的示例查询

您需要先将列表转换为表格,然后您可以展开记录列并从那里继续。 如果没有运气,那么你可以看看我最近创建的这个类似问题的视频

我有 Excel Professional 2016,但我没有看到 JSON 选项,但我可以通过“其他来源”查询选项访问它。 以下是将 JSON 数组转换为表的所有步骤。

  1. 数据 > 新查询 > 来自其他来源 > 来自 Web
  2. 输入 URL:“file:///C:/temp/document.json”,(或 http 网址)按 OK
  3. 显示带有“items”属性和列表类型的行,
  4. 点击“列表”,显示列表中的项目
  5. 按左上角的“到表”按钮,在下一个对话框中按确定
  6. 显示一列名为“Column1”的表
  7. 按列名称旁边的按钮(上面有左右箭头)
  8. 行对象中的属性被选中
  9. 取消选中“用户原始列名作为前缀”,按“确定”
  10. 按左上角的“关闭并加载”按钮

我的文件看起来像

 {
   "items": [{
       "code": "1",
       "name": "first"
     }, {
       "code": "2",
       "name": "second"
     }, {
       "code": "3",
       "name": "third"
     },
   ]
 }

在此处输入图像描述

暂无
暂无

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

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