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

如何在Bash脚本中用jq将指定JSON转换为带合计列的CSV

使用jq将JSON转换为含合计列的CSV

原始JSON文件内容 (data.json)

{
  "name": "john",
  "age": "22",
  "state": "Texas",
  "city": "Dallas",
  "dailysteps": 99,
  "weeklysteps": 2377,
  "monthlysteps": 330003
}

需求说明

通过Bash脚本中的jq工具完成以下操作:

  • 仅提取dailysteps、weeklysteps、monthlysteps三个字段
  • 添加「总步数」列,值为上述三个字段的数值之和
  • 输出包含自定义中文表头的CSV格式,最终效果匹配指定样式

实现命令

直接在Bash中执行以下命令即可:

jq -r '
["每日步数", "每周步数", "每月步数", "总步数"] | join(", "),
[.dailysteps, .weeklysteps, .monthlysteps, (.dailysteps + .weeklysteps + .monthlysteps)] 
| map(tostring) 
| join(" , ")
' data.json

命令解释

  • 第一行通过数组定义CSV表头,再用join(", ")转换成指定格式的表头行
  • 第二部分先提取目标字段并计算三个步数的总和,用map(tostring)把所有数值转为字符串,最后通过join(" , ")拼接成符合要求的内容行
  • -r参数让jq输出原始字符串,避免额外的JSON格式引号

最终输出

执行命令后将得到:

每日步数, 每周步数, 每月步数, 总步数
99 , 2377 , 330003 , 332479

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:39:14