Qiita は API を提供しており、そこで抽出できるデータを Excel 化したかった。
これは jq の @csv
を使うと容易に実現できます。
たとえば、ぼくの 9 月から今までの投稿のうち、興味がある部分を JSON Array として引き抜いたとします。
$ curl -sH "Authorization: Bearer ${QIITA_TOKEN}" "https://qiita.com/api/v2/items?per_page=100&query=user%3Akiririmode%20created%3A%3E2019-09-01" \ | jq -r '.[] | [.created_at, .title, .likes_count]' [ "2019-12-23T14:18:52+09:00", "Bloom Filterの数理", 7 ] [ "2019-09-22T19:35:50+09:00", "EC2 Instance Connect とは何なのか", 0 ] [ "2019-09-22T19:33:23+09:00", "非JSONの文字列が含まれるファイルに対してjqを使いたい", 1 ]
これに対して @csv
をさらにフィルタとして加えると、CSV 形式での出力が得られます。地味に便利です。
$ curl -sH "Authorization: Bearer ${QIITA_TOKEN}" "https://qiita.com/api/v2/items?per_page=100&query=user%3Akiririmode%20created%3A%3E2019-09-01" \ | jq -r '.[] | [.created_at, .title, .likes_count] | @csv' "2019-12-23T14:18:52+09:00","Bloom Filterの数理",7 "2019-09-22T19:35:50+09:00","EC2 Instance Connect とは何なのか",0 "2019-09-22T19:33:23+09:00","非JSONの文字列が含まれるファイルに対してjqを使いたい",1