JSONデータをCSV出力する方法
Nid: 818
入力データ。
$ jq . ichibanya.json [ { "id": "5001", "name": "ソーセージカレー" }, { "id": "5002", "name": "チーズインハンバーグカレー" }, { "id": "5003", "name": "ビーフカツカレー" }, { "id": "6001", "name": "ほうれん草カレー" }, { "id": "6002", "name": "トマトアスパラカレー" }, { "id": "9001", "name": "マンゴーミルクラッシー" } ]
jq コマンドでCSV出力。
$ jq -r '.[] | [.id, .name] | @csv' ichibanya.json "5001","ソーセージカレー" "5002","チーズインハンバーグカレー" "5003","ビーフカツカレー" "6001","ほうれん草カレー" "6002","トマトアスパラカレー" "9001","マンゴーミルクラッシー"
csvkit の in2csvコマンドでCSV出力。
$ in2csv -f json ichibanya.json id,name 5001,ソーセージカレー 5002,チーズインハンバーグカレー 5003,ビーフカツカレー 6001,ほうれん草カレー 6002,トマトアスパラカレー 9001,マンゴーミルクラッシー
配列を含む入力データ。
$ jq . cars.json [ { "manufacturer": "Porsche", "model": [ "911", "Cayenne" ] }, { "manufacturer": "Nissan", "model": [ "GT-R", "Z" ] }, { "manufacturer": "Toyota", "model": [ "Prius" ] } ]
jq コマンド。{} によってオブジェクトf1 とオブジェクトf2 を作成し、冗長化してCSVに出力。
$ jq -r '.[] | {f1: .manufacturer, f2: .model[]} | [.f1, .f2] | @csv' cars.json "Porsche","911" "Porsche","Cayenne" "Nissan","GT-R" "Nissan","Z" "Toyota","Prius"
関連記事
- 1 of 2
- next ›