You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq将JSON中的两个数组合并为指定格式的CSV?

用jq将JSON数组转换为对应行的CSV格式

需求说明

现有如下JSON数据:

echo '{"a": [1, 3, 5, 7, 9 ], "b": [2, 4, 6, 8, 10 ]}' | jq

输出的JSON结构:

{
  "a": [
    1,
    3,
    5,
    7,
    9
  ],
  "b": [
    2,
    4,
    6,
    8,
    10
  ]
}

希望得到如下格式的CSV:

1,2
3,4
5,6
7,8
9,10

实现命令

可以通过以下jq命令直接实现需求:

echo '{"a": [1, 3, 5, 7, 9 ], "b": [2, 4, 6, 8, 10 ]}' | jq -r '[.a, .b] | transpose[] | @csv'

命令解释

  • [.a, .b]:提取JSON中的a和b两个数组,组合成一个二维数组
  • transpose:对二维数组进行转置操作,将原数组的列转换为行,得到[[1,2],[3,4],[5,6],[7,8],[9,10]]
  • []:展开转置后的数组,逐个输出每一组元素
  • @csv:将每组元素格式化为CSV格式
  • -r:使用原始输出模式,避免CSV字符串被额外的引号包裹

内容的提问来源于stack exchange,提问作者learning-man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:15:01