[英]How to extract json data and output to csv using jq
我的 json 数组文件是一个长文件并且有许多对象 [{}、{}、{}、{}],在每个 object 中我需要三个键的值:“STK_NUM”:“1004251”,“DLR_COST”:40.32 ,“RTL_AMT”:9.99。 我将如何编写 jq 程序以获取键名称作为我的 csv 文件中的标题:STK_NUM、DLR_COST、RTL_AMT 以及来自所有对象的这些键的值:1004251、40.32、9.99? 这三个密钥在每个 object 中。
所需 csv:
STK_NUM,DLR_COST,RTL_AMT
1004251,40.32,9.99
1012658,29.99,4.69
1232556,18.89,2.49
我试过了:
jq -r .[].STK_NUM HSEitm.json
结果:
"1004251"
"1012658"
"1232556"
我所有其他的 jq 脚本尝试都会导致错误,因为我不知道自己在做什么。
如果有人能告诉我,我将不胜感激。
本着 DRY 的精神:
jq -r '
["STK_NUM", "DLR_COST", "RTL_AMT"] as $headers
| $headers,
# Rows:
map(.[$headers[]])
| @csv
'
尝试
jq -r '
# Headers
["STK_NUM", "DLR_COST", "RTL_AMT"],
# Rows
(.[] | [.STK_NUM, .DLR_COST, .RTL_AMT])
# Output Format
| @csv
' HSEitm.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.