jqコマンドをMacで使う
JSON形式(JSON,JSONL)からCSV形式への変換をたまに必要とします。
jqコマンドの備忘録です。
jqとは
- JSON プロセッサーツールです。
- JSON を整形したり検索したりすることができます。
jqのインストール
MacではHomebrewを使います。
brew
コマンドでjq
をインストールします。
$ brew install jq
以下のコマンドでバージョン確認します。
$ jq --version
使い方
JSON形式からJSONL形式に変換
jq -c '.[]' input.json > output.jsonl
JSONL形式からJSON形式に変換
jq -s '.' input.jsonl > output.json
JSON形式からCSV形式に変換
cat output.json | jq -r '.[] | [.col1, .col2, .col3, .col4, .col5, .col6, .col7]|@csv' > json_to_csv.csv
JSON形式からCSV(ヘッダー付き)形式に変換
cat output.json | jq -r '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv' > json_to_csv_header.csv