将 json 文件加载到 Power Query 中

将 json 文件加载到 Power Query 中

我正在尝试将从 data.gov 中提取的 JSON 文件加载到 Power Query 中进行操作,但我不知道如何让 Power Query 将 JSON 文件转换为表格格式。

有没有办法将 JSON 转换为 Power Query 中的表,而无需编写自定义查询?

答案1

JSON 数据通常以“记录中的列表”的形式出现在“记录”中(以及其他变体)。您通常可以使用 PQ UI 来扩展这些对象,而无需编写代码。

以下是 JSON 端点的示例:http://api.nobelprize.org/v1/laureate.json

运行 PQ“从 Web”后,下一步是单击 PQ 功能区中的“记录工具/转换/转换为表格”按钮。

这将返回一行,第二列(值)包含一个列表。单击“值”旁边的展开按钮以展开列表。

这将返回多行,其中每个第二列(值)现在包含一条记录。展开记录以表格形式获取数据列。

请注意,此特定 JSON 布局还有更多深度 - 请参阅最右侧的 Value.prizes 列。具体步骤可能有所不同,具体取决于您的 JSON 输入和输出要求。

这是获取表格的完整代码 - 每个步骤都是通过单击 UI 生成的。

let
    Source = Json.Document(Web.Contents("http://api.nobelprize.org/v1/laureate.json")),
    #"Converted to Table" = Record.ToTable(Source),
    #"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
    #"Expanded Value1" = Table.ExpandRecordColumn(#"Expanded Value", "Value", 
        {"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode", 
         "bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"},
        {"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode",
         "bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"})
in
    #"Expanded Value1"

相关内容