質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Q&A

解決済

2回答

1237閲覧

jqってあまり使われないかもしれませんが、CSVにこのように出力したいと思っています。

tiqua_nibio

総合スコア62

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

標準出力

標準出力(stdout)は、プログラムが標準的に用いるデータ出力元。標準出力に書き込み要求を発行しすることにより、ディスプレイ装置にデータを表示することができます。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

0グッド

1クリップ

投稿2020/11/27 10:14

今、jqを使ってこのようなjsonファイルをCSVにしたいと思っています。
(現時点では、Teratailではjqというタグがありませんでした)
かんたんに見えて、「SQLやJavaなどなら無理なくできる」と感じることでも、jqとなると少し考え込んでしまい、わからずじまいでした。

よろしくお願いいたします。

{ "id": 1, "created_at": "2018-05-27", "attrs": [ { "key": "firstname", "value": "John" }, { "key": "lastname", "value": "Smith" }, { "key": "middlename", "value": "W" } ] } { "id": 2, "created_at": "2018-05-26", "attrs": [ { "key": "firstname", "value": "太郎" }, { "key": "lastname", "value": "山田" } ] }

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ちょっとググったらこんなのがありました。

jq コマンドを使う日常のご紹介 - Qiita

JSONを分析するときのプラクティス

@csvを使って、CSVにはき出して、RDBMS付属のCSVローダーからRDBに入れて、素直にSQLたたくことをお勧めしますw。

投稿2020/11/27 10:22

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikapy

2020/11/27 12:15

>かんたんに見えて、「SQLやJavaなどなら無理なくできる」と感じることでも、jqとなると少し考え込んでしまい、わからずじまいでした。 初めてのことは、そんなものでしょう。考えて、考えて、書いて、書いたあと、そうだったのかとなれば立派なものです。
tiqua_nibio

2020/11/29 14:35

まあそうなんですよね。仕事で課題解決に追われると、すごく圧迫感を感じてしまいますしね。。。
guest

0

ベストアンサー

sh

1$ jq --version 2jq-1.6 3$ cat json.json 4{ 5 "id": 1, 6 "created_at": "2018-05-27", 7 "attrs": [ 8 { 9 "key": "firstname", 10 "value": "John" 11 }, 12 { 13 "key": "lastname", 14 "value": "Smith" 15 }, 16 { 17 "key": "middlename", 18 "value": "W" 19 } 20 ] 21} 22{ 23 "id": 2, 24 "created_at": "2018-05-26", 25 "attrs": [ 26 { 27 "key": "firstname", 28 "value": "太郎" 29 }, 30 { 31 "key": "lastname", 32 "value": "山田" 33 } 34 ] 35} 36$ cat json.json| jq '. as $o | $o."attrs" | map([$o."created_at", ."key", ."value"]) | .[] | @csv' 37"\"2018-05-27\",\"firstname\",\"John\"" 38"\"2018-05-27\",\"lastname\",\"Smith\"" 39"\"2018-05-27\",\"middlename\",\"W\"" 40"\"2018-05-26\",\"firstname\",\"太郎\"" 41"\"2018-05-26\",\"lastname\",\"山田\""

投稿2020/11/27 13:17

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiqua_nibio

2020/11/29 14:34

いや、すごいです。驚きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問