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

使用jq提取Git Issues生成CSV时遇对象格式错误求助

解决Git Issues导出CSV时的jq对象错误

这个错误的核心原因是:你直接把labels字段的对象数组塞进了CSV行,但jq的@csv过滤器只支持字符串、数字这类基础数据类型,不接受嵌套对象。

解决方法

把labels数组中的标签名提取出来,拼接成单个字符串,让它能被@csv正常处理。

完整命令示例

假设你要导出的列是Issue Number、Title、Labels、Created Date、State,可以用这条命令:

gh issue list --json number,title,labels,createdAt,state \
| jq -r '
  # 定义CSV表头
  ["Issue Number", "Title", "Labels", "Created Date", "State"],
  # 处理每条issue数据
  (.[] | [
    .number,
    .title,
    # 提取所有标签名,用分号拼接成单个字符串(支持多值单元格)
    ([.labels[].name] | join("; ")),
    .createdAt,
    .state
  ])
  # 转换为CSV格式
  | @csv' > issues.csv

关键细节

  • [.labels[].name]:从labels的对象数组里批量提取所有标签的name字段,得到一个纯字符串数组
  • join("; "):用分号(你可以换成逗号或其他分隔符)把标签数组拼接成单个字符串,这样CSV单元格就能容纳多个标签,同时符合@csv的格式要求
  • 如果需要保留标签的额外信息(比如颜色),可以修改拼接逻辑:
    ([.labels[] | "\(.name) (\(.color))"] | join("; "))
    
  • 其他嵌套字段如果要放进CSV,也必须用同样的方式转成字符串,不能直接传入对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:45:32