[英]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.