将表格中的内容转换为使用 PowerQuery 格式化的 JSON

Posted

技术标签:

【中文标题】将表格中的内容转换为使用 PowerQuery 格式化的 JSON【英文标题】:Transform content in table to JSON formatted using PowerQuery 【发布时间】:2015-09-30 13:25:38 【问题描述】:

我是 PowerQuery 的新手。基本上,我使用 PowerQuery 导入 csv,并且需要将 CSV 中的所有内容作为 JSON 格式传递。我使用 PowerQuery 来使用 Web 服务 API。

请问我该怎么做?

例如,我的 csv 有非常简单的 column1-3,它们是文本格式的。

谢谢 佩迪

【问题讨论】:

我很困惑。您的 CSV 文件实际上是否包含 JSON 格式?您是在尝试导入文件还是 Web 服务? 我的文件是导入到 Power Query 的 CSV,它根本不包含 JSON 格式,但我想将 CSV 的内容转换为 JSON 格式 - 这可行吗?谢谢 Power Query 仅输出到 Excel 表或 Excel 数据模型。所以你不能直接这样做。获得 Excel 表格形式的数据后,您可能会找到一个可行的 Excel 到 JSON 的解决方案。 【参考方案1】:

如果您想将 CSV 转换为 JSON,只需将 find/replace 应用于纯文本 - 替换分隔符“;”使用逗号“,”(或文本值的引号和逗号)。然后用方括号“],[”替换新行。毕竟用双方括号拥抱所有的东西

假设您的 CSV 文本是

1;2;3
1;2
1
1;2

首先你替换“;”用“,”

1,2,3
1,2
1
1,2

然后用“],[”替换新行

1,2,3],[1,2],[1],[1,2

拥抱

[[1,2,3],[1,2],[1],[1,2]]

这是一个例子

let

src =
"1;2;3
1;2
1
1;2",
    replace_semicolon=Text.Replace(src, ";", ","),
    replace_newlines =Text.Replace(replace_semicolon, "#(lf)", "],["),
    braces="[["&replace_newlines&"]]",
    json=Json.Document(braces)
in
    json

【讨论】:

以上是关于将表格中的内容转换为使用 PowerQuery 格式化的 JSON的主要内容,如果未能解决你的问题,请参考以下文章

在 Power Query 中拆分列而不转换为文本?

如何将多个excel表格内容合到一起

powerquery的sum公式

如何把excel中的空白转换为数字

将文本字符串转换为电子表格中的公式

如何将EXCEL表格中的出生日期格式快速转换?