我在网站上有一些json
,我希望使用excel
选项power query
转换为from web
。但我遇到了一个小问题。我的json
看起来像这样:
[
{
"id" : 1,
"visitors" : 26,
"some_number" : 1,
"value" : 3500
},
{
"id" : 2,
"visitors" : 21,
"some_number" : 5,
"value" : 2000
}
]
但是当我使用from web
时,我得到了这个:
我可以深入查看记录,将其转换为表格,转置并使用第一行作为标题但我只得到一行。如何才能将所有数据都放到表中而不只是一行?
答案 0 :(得分:21)
首先,我将使用列表工具/转换菜单(应自动选择),然后单击到表按钮。这将为您提供一个包含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"
答案 1 :(得分:11)
Table.FromRecords()
function适用于该样本数据:
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
答案 2 :(得分:0)
您需要先将列表转换为表格,然后您可以展开记录列并从那里继续。如果没有运气,那么你可以看一下我最近为类似问题创建的this video。