【问题标题】:flatten keyless json to csv format using jq使用 jq 将无键 json 展平为 csv 格式
【发布时间】:2019-05-19 11:12:37
【问题描述】:

如何将以下 json 扁平化为 csv 格式?我面临的问题是这个 json 在键的位置包含值,我看到的所有示例和教程都展示了如何使用键和值处理 json。所以我什至不知道从哪里开始。

JSON:这是我目前拥有的

{
  "AE": {
    "424,2": "Etisalat",
    "424,3": "DU"
  },
  "AF": {
    "412,50": "Etisalat"
  }
}

CSV:这是我想要的输出

"AE","424,2","Etisalat"
"AE","424,3","DU"
"AF","412,50","Etisalat"

【问题讨论】:

    标签: json export-to-csv jq


    【解决方案1】:
    paths(scalars) as $p | $p + [getpath($p)] | @csv
    

    paths(scalars) 找到指向不可迭代值的路径并将它们列为数组(例如 ["AE","424,4"]),
    getpath($p) 返回由 $p 表示的路径处的值。

    请注意,正确的 CSV 输出需要 -r/--raw-output 选项。

    【讨论】:

      猜你喜欢
      • 2012-07-05
      • 1970-01-01
      • 2019-05-14
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 2019-12-13
      相关资源
      最近更新 更多