CSVコマンドラインツール csvkit
Nid: 899
カンマや改行がデータに含まれているCSVファイルの場合、cutやsed,awkコマンドでは処理が困難なので、csvkitをインストールしておくと便利です。cygwin でも動作します。
1 . インストール
Ubuntu インストール
$ sudo apt-get install python-dev python-pip python-setuptools build-essential $ sudo pip install csvkit
cygwin でのインストール
$ ./setup-x86_64.exe --no-admin -q --packages=python3-devel $ pip install csvkit
アップグレード
$ pip install --upgrade setuptools $ pip install --upgrade csvkit
2 . 変換
Excel から CSV へ変換
$ in2csv data.xls > data.csv
JSON から CSV へ変換
$ in2csv data.json > data.csv
3 . 列操作
列名を出力
$ csvcut -n data.csv
列の抽出や列順の変更
$ csvcut -c column_c,column_a data.csv > new.csv
4 . マージ
1列目をキーにCSVファイルをマージ
$ csvjoin -c 1 join_a.csv join_b.csv
5 . レコード抽出
正規表現を使用し、「status」列の値が文字列"NG"にマッチしたレコード以外を抽出する例。「status」列が「NG」以外のレコードを選択。
$ csvgrep -c status -i -r "^NG$" onsen.csv