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

将Python数据处理代码转换为兼容jq命令的Shell脚本实现

Python转jq实现:处理JSON数据并格式化输出

需求说明

  • 读取output.txt中的JSON数据
  • 提取Datapoints字段并转换为类DataFrame的结构化输出
  • 按Timestamp字段排序
  • 去除输出中的多余双引号
  • 将Average字段保留两位小数

样本数据(output.txt)

{
  "Datapoints": [
    {"Timestamp": "2024-05-20T10:00:00", "Average": 12.3456},
    {"Timestamp": "2024-05-20T09:00:00", "Average": 9.8765},
    {"Timestamp": "2024-05-20T11:00:00", "Average": 15.1234}
  ]
}

修正后的jq命令

基础版(无表头)

jq -r '.Datapoints | sort_by(.Timestamp) | .[] | [.Timestamp, (.Average | round(2))] | @tsv' output.txt

带表头版(更贴近DataFrame输出)

jq -r '["Timestamp", "Average"], (.Datapoints | sort_by(.Timestamp) | .[] | [.Timestamp, (.Average | round(2))]) | @tsv' output.txt

命令解释

  • -r:启用原始输出模式,自动去除字符串的多余双引号
  • .Datapoints:定位到JSON中的Datapoints数组字段
  • sort_by(.Timestamp):按Timestamp字段对数组元素进行升序排序
  • .[]:遍历数组中的每个数据对象
  • (.Average | round(2)):将Average字段数值保留两位小数
  • @tsv:将输出格式化为制表符分隔的结构化文本,模拟DataFrame的表格形式

正确输出示例

Timestamp	Average
2024-05-20T09:00:00	9.88
2024-05-20T10:00:00	12.35
2024-05-20T11:00:00	15.12

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:07:31