gpt4 book ai didi

json - 打印缺少键的空字符串并将结果转换为 CSV

转载 作者:行者123 更新时间:2023-12-01 01:59:37 24 4
gpt4 key购买 nike

我正在尝试使用 jq 命令将 belowJSON 转换为 CSV,但最终的 CSV 无法正确放置 deviceName 字段,因为它在某些 JSON 行中缺失。

{
"id": "ABC",
"deviceName": "",
"total": 100,
"master": 20
}
{
"id": "ABC",
"total": 100,
"master": 20
}

我如何确保在缺少 Key 时获取空值?

我尝试用下面的命令生成 CSV

./jq -r '[.[]] | @csv' > final.csv

但它会提供如下所示的 CSV,正如您所看到的,当 JSON 中缺少 deviceName 键时,单元格会向左移动。

"ABC","",100,20
"ABC",100,20

我想要如下所示的输出,如果缺少 deviceName,它会添加空值。

"ABC","",100,20
"ABC","",100,20

最佳答案

jq您可以使用备用运算符 //可用于返回默认值。例如。 .foo // 1将评估为 1如果没有 .foo输入中的元素

使用它并附加一个空字符串 ""如果 key 不存在,你可以这样做

jq -r '[.id // "", .deviceName // "", .total // "", .master // ""] | @csv'

注意:备用运算符.foo // 1导致评估为 1对于 foo 的值的情况是nullfalse .如果您的数据包含 null,您可能希望修改上述程序或 false值(value)观。

关于json - 打印缺少键的空字符串并将结果转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com