将文本分析为 JSON 或 XML

在 Power Query 中,可以通过将内容标识为 JSON 或 XML 文本字符串来分析包含文本字符串的列的内容。

可以通过在 Power Query 编辑器的以下位置选择解析选项来执行此解析操作:

  • 转换选项卡 - 此选项通过分析现有列的内容来转换现有列。

    “转换”选项卡中分析选项的屏幕截图。

  • 添加列选项卡 - 此选项将新列添加到分析所选列内容的表。

    “添加列”选项卡中分析选项的屏幕截图。

在本文中,你将使用一个示例表,其中包含以下需要解析的列:

  • SalesPerson - 包含未分析的 JSON 文本字符串,其中包含有关销售人员的 FirstName 和 LastName 的信息,如以下示例所示。

    {
       "id" : 249319,
       "FirstName": "Lesa",
       "LastName": "Byrd"
    }
    
  • 国家/地区 - 包含未分析的 XML 文本字符串,其中包含有关帐户分配到 的国家/地区 和 部门 的信息,如以下示例所示。

    <root>
       <id>1</id>
       <Country>USA</Country>
       <Division>BI-3316</Division>
    </root>
    

示例表还包含一个“帐户”列,该列包含帐户号以及分配日期。

示例源表的屏幕截图,其中包含已分配的帐户、销售人员和国家/地区列。

目标是分析上述列并展开这些列的内容以获取此输出。

最终示例输出表的屏幕截图。

作为 JSON

选择 SalesPerson 列。 然后,从“转换”选项卡内的“分析”下拉菜单中选择 JSON。这些步骤将 SalesPerson 列从具有文本字符串转换为具有 Record 值。 可以在 “记录 ”值的单元格内的空格中选择任意位置,以获取屏幕底部记录内容的详细预览。

分析 JSON 文本字符串结果的屏幕截图。

选择 SalesPerson 列标题旁边的展开图标。 在展开列菜单中,仅选择 FirstName 和 LastName 字段。 此外,请确保选择 “使用原始列名作为前缀 ”。

要展开的已分析 JSON 文本字符串字段的屏幕截图。

该操作的结果生成如下表格。

展开的 JSON 字段的屏幕截图,其中销售人员名字和姓氏列替换 SalesPerson 列。

作为 XML

选择 “国家/地区 ”列。 然后,从“转换”选项卡内的“分析”下拉菜单中选择 XML 按钮。这些步骤将国家/地区列从具有文本字符串转换为具有表值。 可以选择 表 值单元格内空白处的任意位置,以获取屏幕底部表格内容的详细预览。

解析 XML 文本字符串结果的截图。

选择 “国家/地区 ”列标题旁边的展开图标。 从展开列菜单中,仅选择 “国家/地区 ”和 “分区 ”字段。 此外,请确保选择 “使用原始列名作为前缀 ”。

要展开的解析过的 XML 文本字符串字段的屏幕截图。

可以将所有新列定义为文本列。 该操作的结果就是您要寻找的输出表。

示例最终输出表的屏幕截图。