json2csvで出力される列の順番を変えたい
jsonファイルをcsvに変換してくれるNode.jsのライブラリjson2csvを用いて、以下のJSONファイルをcsvに変換しました。
JSONファイルはもともと配列を値としてもっていて、それを展開したものを使用しています。
JSON
1// 元のJSONファイル 2[ 3 {"name":"aaa","contents":["A","B"],"num":["1","2","3"]}, 4 {"name":"bbb","contents":["C","D","E","F"],"num":["4"]}, 5 {"name":"ccc","contents":["G","H","I"],"num":["5","6","7","7"]} 6]
json
1// 配列を展開したJSONファイル 2[ 3 { 4 "name": "aaa", 5 "contents_0": "A", 6 "contents_1": "B", 7 "num_0": "1", 8 "num_1": "2", 9 "num_2": "3" 10 }, 11 { 12 "name": "bbb", 13 "contents_0": "C", 14 "contents_1": "D", 15 "contents_2": "E", 16 "contents_3": "F", 17 "num_0": "4" 18 }, 19 { 20 "name": "ccc", 21 "contents_0": "G", 22 "contents_1": "H", 23 "contents_2": "I", 24 "num_0": "5", 25 "num_1": "6", 26 "num_2": "7", 27 "num_3": "7" 28 } 29]
次のコマンドで実行しました
command
1json2csv -i test.json -o output.csv -s
出力結果は以下のようになりました。
name | content_0 | content1 | num_0 | num_1 | num_2 | content_2 | content_3 | num_3 |
---|---|---|---|---|---|---|---|---|
aaa | A | B | 1 | 2 | 3 | |||
bbb | C | D | 4 | E | F | |||
ccc | G | H | 5 | 6 | 7 | I | 7 |
オブジェクトを一つずつ読み取って出力しているため、足りない列はあとから追加しているといった挙動をしていると考えられます。
この出力を、次のようにしたいと考えています。
name | content_0 | content1 | content_2 | content_3 | num_0 | num_1 | num_2 | num_3 |
---|---|---|---|---|---|---|---|---|
aaa | A | B | 1 | 2 | 3 | |||
bbb | C | D | E | F | 4 | 5 | ||
ccc | G | H | 5 | 6 | 7 | 7 |
json2csvを用いてこのように列の順番を任意に出力することはできますでしょうか?
また、javascriptを用いた列の並べ替え方などもご教授していただけると助かります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/11 09:16
2018/10/11 09:26
2018/10/11 09:38
2018/10/11 13:17
2018/10/12 01:37
2018/10/12 01:37
2018/10/12 02:11