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

编写jq命令提取患者JSON指定字段导出CSV无结果问题求助

jq提取JSON字段命令故障修复

原命令错误点排查

  • 基础语法错误:- r参数中间多余空格,且使用了中文全角单引号’,jq要求选项与参数紧接,所有引号必须使用英文半角符号
  • 字段名与实际JSON结构不匹配:
    • 唯一ID字段实际名为带空格的Unique ID,并非无空格的UniqueID
    • 姓名相关字段实际名为Patient First Name、Patient Last Name,并非简写的FirstName、LastName
    • LDL检测日期字段实际名为LDLResultDate,并非自定义的LabResultDate
    • 血清肌酐节点拼写错误:实际节点名为SerumCreatinine,对应水平字段为CreatinineLevel,原命令错写为SerumCreatine、CreatineLevel
  • 格式校验提示:你提供的JSON片段开头缺失外层左大括号{,执行命令前请先补全JSON结构保证格式合法,否则jq会抛出解析错误。

注:需求中要求的「Lab Test Date」对应JSON中两个实验室项的检测日期,以下方案默认提取LDL胆固醇的检测日期,如需提取肌酐检测日期可将对应字段替换为.Patient.Labs.SerumCreatinine.CreatinineResultDate。

可直接运行的正确命令

无表头纯数据版本

jq -r '[.Patient."Unique ID", .Patient.Name."Patient First Name", .Patient.Name."Patient Last Name", .Patient.Labs.LDLCholesterol.LDLResultDate, .Patient.IntakeCriteria.InitialHgbA1c, .Patient.Labs.LDLCholesterol.LDLLevel, .Patient.Labs.SerumCreatinine.CreatinineLevel] | @csv' data.json > csvtest.out

带字段表头版本

如果需要导出的CSV第一行自带字段名,使用以下命令:

jq -r '["Patient Unique ID number","Patient First Name","Patient Last Name","Lab Test Date","HgbA1c Level","LDL Level","Creatinine Level"], [.Patient."Unique ID", .Patient.Name."Patient First Name", .Patient.Name."Patient Last Name", .Patient.Labs.LDLCholesterol.LDLResultDate, .Patient.IntakeCriteria.InitialHgbA1c, .Patient.Labs.LDLCholesterol.LDLLevel, .Patient.Labs.SerumCreatinine.CreatinineLevel] | @csv' data.json > csvtest.out

对应示例数据的纯数据输出结果为:

163983,"James","Manchester","5/6/2013",8.1,200,0.9

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:18:14