読者です 読者をやめる 読者になる 読者になる

jsonをcsvに変換する「json2csv」

memo golang

go製のjsoncsvに変換するコマンドラインツール

jehiah/json2csv

インストール

go get github.com/jehiah/json2csv

使い方

$ json2csv --help
Usage of json2csv:
  -i="": /path/to/input.json (optional; default is stdin)
  -k=[]: fields to output
  -o="": /path/to/output.json (optional; default is stdout)
  -p=false: Prints header to output
  -v=false: verbose output (to stderr)
  -version=false: print version string

jsonファイルを用意

{"type": "\u6226\u8266", "name": "\u91d1\u525b\u6539", "level": 61}
{"type": "\u91cd\u5de1\u6d0b\u8266", "name": "\u6700\u4e0a", "level": 8}
{"type": "\u7a7a\u6bcd", "name": "\u52a0\u8cc0\u6539", "level": 72} 
{"type": "\u6226\u8266", "name": "\u6bd4\u53e1\u6539", "level": 76}
{"type": "\u99c6\u9010\u8266", "name": "\u5cf6\u98a8\u6539", "level": 61}
{"type": "\u91cd\u5de1\u6d0b\u8266", "name": "\u6469\u8036\u6539", "level": 50}
  • kで出力するカラム名を指定
  • pでヘッダを出力
$ json2csv < json2csv_sample_json.js -k type,name,level -p
type,name,level
戦艦,金剛改,61
重巡洋艦,最上,8
空母,加賀改,72
戦艦,比叡改,76
駆逐艦,島風改,61
重巡洋艦,摩耶改,50


使い勝手がいい感じ