SuperAPI AI 工具集

data-tools

数据与分析

查看项目

更新于 10-16 01:35

技能介绍

用途:该技能用于查询、转换、过滤、格式转换或编辑任何 JSON、JSONL、YAML、TOML、XML、CSV 数据,明确要求替换在这些结构化格式上使用的 grep/sed/awk。

主要能力与用法:

  • jq:处理 JSON(不支持原地修改),例如 jq -r '.version' package.json、jq '.users[] | select(.role == "admin") | .name' users.json、jq -s '.[0] * .[1]' base.json override.json,修改需输出到临时文件再替换。
  • yq:处理 YAML,支持原地修改 -i 与格式转换,例如 yq '.services.web.image' docker-compose.yml、yq -i '.services.app.image = "node:20"' docker-compose.yml、yq -o json config.yml。
  • dasel:处理 TOML(唯一原生工具)与 XML(XPath 也可用 xmlstarlet),并支持通用自动识别,例如 dasel -f Cargo.toml '.package.version'、dasel -f input.json -w yaml;转换可用 dasel -w FORMAT 或 yq -o FORMAT。
  • qsv:处理 CSV/TSV,例如 qsv headers data.csv、qsv stats data.csv --everything | qsv table、qsv search -s status "active" users.csv | qsv select name,email、qsv join user_id orders.csv id users.csv;注意 qsv index、stats、frequency 会在输入旁写文件(如 x.csv.idx、x.stats.csv*),在仓库或包目录中应先对副本运行。
  • mlr:处理 JSONL 与多格式,支持 DSL 与原地修改 -I,例如 mlr --c2j cat data.csv、mlr --jsonl filter '$level == "error"' logs.jsonl、mlr -I --csv put '$total = $qty * $price' orders.csv。
  • GitHub CLI:应始终使用 --jq,例如 gh api repos/owner/repo/releases/latest --jq '.tag_name'、gh pr list --json number,title --jq '.[] | [.number, .title] | @tsv',无需单独启动 jq 进程。

反模式:该技能列出以文本工具或内联脚本处理结构化格式的错误做法,并给出对应正确工具,例如用 jq -r '.version' package.json 替代 grep 加 sed 提取版本,用 yq -i 替代 sed -i 修改镜像版本,用 qsv select 2 data.csv 替代 awk 取列,用 jq 替代 python3 -c 读取 JSON 字段。

限制与说明:资料未提供具体的安装命令、收费、价格、平台支持范围或效果数据,这些内容暂未提供。执行层面包含一个 PreToolUse 门禁钩子:会拒绝字段提取操作,其余情况仅警告一次。