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

如何使用jq流式处理超大JSON文件并将其转换为CSV格式

超大JSON文件流式转CSV的jq命令调整方案

你之前使用-s参数会将整个JSON文件全量加载到内存解析,所以处理2GB以上大文件时会触发内存不足问题,流式处理会边读取文件边解析内容,全程不会加载全量数据到内存,完全适配大文件场景。

调整后的可直接生成目标CSV的命令如下:

jq -r --stream '
# 输出CSV表头
["address","lat","lon"] | @csv,
# 流式处理每一个顶层JSON对象
(fromstream(0|truncate_stream(inputs)) 
 | [._source.name.default, ._source.center_point.lat, ._source.center_point.lon] 
 | @csv
)' pelias_minify.json > pes.csv

命令说明

  • 加-r参数是为了输出原始CSV格式,避免jq给输出结果额外套一层转义引号
  • 表头固定按你需要的address、lat、lon顺序输出,不需要动态读取字段,减少不必要的性能开销
  • @csv会自动处理地址字段中的逗号、特殊符号、引号等转义逻辑,不会出现CSV列错位问题
  • 如果你的JSON存在字段缺失的情况,可以给字段增加默认值避免报错,示例如下:
    [._source.name.default // "", ._source.center_point.lat // "", ._source.center_point.lon // ""]
    

内容的提问来源于stack exchange,提问作者Nguyen Hoang Vu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:21:02