如何将 JSON 数据导入 EXCEL 列?

如何将 JSON 数据导入 EXCEL 列?

我有一个如下的 Excel 电子表格:

在此处输入图片描述

第一列是某事物的名称,然后是两列“日期”和“所有者”。我还有以下 JSON 文件,我想通过“获取数据”->“来自文件”->“来自 JSON”导入该文件,以便从 JSON 文件中的数据自动填充空列。

JSON 文件内容:

{
    "TEST-1": {
        "date": 2,
        "owner": "Alfred"
    },
    "TEST-2": {
        "date": 4,
        "owner": "Berta"
    },
    "TEST-3": {
        "date": 6,
        "owner": "Cesar"
    },
    "TEST-42": {
        "date": 84,
        "owner": "Dave"
    },
}

最后我想要的 Excel 表格如下所示:

在此处输入图片描述

但我不知道如何使用“Power Query”来实现这一点。有什么想法吗?有教程吗?有简单的解释吗?

答案1

您可以通过 3 个部分来实现它。

A. 第 1 部分

  1. 选择范围。转到数据 -> 获取数据 -> 从表/范围。选择我的表有标题。单击确定。
  2. Power 查询编辑器打开。关闭并保存。

使用 Power Query 后的表格

B. 第 2 部分

  1. 转到数据 -> 获取数据 -> 来自文件 -> 来自 JSON。这将是输出

Json 数据导入到 Power Query

  1. 转到转换 -> 转入表格

数据已转换为表格

  1. 单击“值”旁边的箭头。选择要显示的项目。单击“确定”。

价值选择

  1. 下图就是结果。右键单击列标题,选择“重命名”以更改列名称。这将是输出。关闭并保存。

重命名列

C. 第 3 部分

  1. 转到数据 -> 获取数据 -> 合并查询 -> 合并
  2. 当 Power Query 编辑器打开时,设置第一个表,然后将 json 文件中的数据设置为第二个表。从两个表中选择将作为合并基础的列。在“连接类型”列表框中,选择“左外层(全部来自第一个,匹配来自第二个)”

表和列选择 - 合并窗口

  1. 展开最后一列的箭头。选择必须显示值的列,然后单击“确定”。

列选择

这就是结果。

选择列后的结果

  1. 删除不必要的列并重命名(如有必要)其他列。

删除并重命名列后的结果

  1. 关闭并保存。

答案2

  1. 我有一个日志文件,其中每一行都是一个独立的 json 对象,但必须将整个文件括在“[”(第一行前缀)和“]”(最后一行后缀)中,并在每一行(最后一行除外)后附加一个“,”以有效地创建一个数组,以便运行 json 导入。是否有选项可以将每一行/行视为单独的 json 对象?

  2. 每个 json 行中的某些字段本身就是一个数组,但我希望将它们拆分成新列而不是新行。当我尝试替代方法并指定分隔符(即“:”)时,它会为每一行显示“错误”。有没有办法将此类数组扩展为新列,以便导入到结果表中的数据仍然每行输入(日志)有 1 行?

相关内容