我的json数组文件是一个很长的文件,有许多对象{},在每个对象中我需要三个键的值:"STK_NUM":"1004251 ","DLR_COST":40.32,"RTL_AMT":9.99。如何编写jq程序来获取csv文件中的键名作为头文件: STK_NUM、DLR_COST、RTL_AMT以及所有对象中这些键的值:1004251、40.32、9.99?这三个关键字存在于每个对象中。
所需的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脚本尝试都会导致错误,因为我不知道自己在做什么。
如果有人能给我看,我将不胜感激。
发布于 2021-10-11 03:35:45
在枯燥的精神中:
jq -r '
["STK_NUM", "DLR_COST", "RTL_AMT"] as $headers
| $headers,
# Rows:
map(.[$headers[]])
| @csv
'发布于 2021-10-11 02:39:34
试一试
jq -r '
# Headers
["STK_NUM", "DLR_COST", "RTL_AMT"],
# Rows
(.[] | [.STK_NUM, .DLR_COST, .RTL_AMT])
# Output Format
| @csv
' HSEitm.jsonhttps://stackoverflow.com/questions/69520350
复制相似问题