Ubuntu

嘗試使用 jq 將 json 轉換為 csv

  • March 5, 2020

我似乎無法弄清楚如何使用 jq 將我的數據轉換為 csv。我有以下json:

   {
 "id": 2,
 "type": "message",
 "date": "2010-01-11T01:19:45",
 "edited": "1969-12-31T19:00:00",
 "from": "USER1",
 "from_id": 5514,
 "text": "Message1"
},
{
 "id": 3,
 "type": "message",
 "date": "2010-01-11T01:19:28",
 "edited": "1969-12-31T19:00:00",
 "from": "USER2",
 "from_id": 5515,
 "text": "Message2"
},
{
 "id": 4,
 "type": "message",
 "date": "2010-01-11T01:19:28",
 "edited": "1969-12-31T19:00:00",
 "from": "USER1",
 "from_id": 5514,
 "text": "Message3"
},

我正在嘗試從 json 中獲取日期、來自和文本,並將其輸出為 csv,如下所示:

From,Date,Text
USER1,2010-01-11T01:19:45,Message1
USER2,2010-01-11T01:19:28,Message2
USER1,2010-01-11T01:19:28,Message3

有沒有辦法用 jq 做到這一點,或者使用不同的東西會更好?

它是

<input.json jq --raw-output '.[]|[.from,.date,.text]|@csv'

你可以在這裡看到結果https://jqplay.org/s/vQ1_Psl1LI

引用自:https://unix.stackexchange.com/questions/571402