なぜやるのか
そこそこの行数のcsvを頻繁に扱う案件があり、読み込むデータの統合を簡単にやりたかった。
pandasの様なライブラリを使えば出来るが、より簡単にやりたかった。
どうやるのか
csvkitに含まれるcsvcutを使う。
インスコ方法などはググってください。
$ zsh --version
zsh 5.9 (x86_64-apple-darwin21.3.0)
読み込むファイル(sample.csv)
column_A,column_B,column_C,column_E,column_F,column_D
0,1,2,4,5,3
$ csvcut -c column_A,column_B,column_C,column_D,column_E,column_F sample.csv
column_A,column_B,column_C,column_D,column_E,column_F
0,1,2,3,4,5
結果を別ファイルとかにしたいときはリダイレクト使う
$ csvcut -c column_A,column_B,column_C,column_D,column_E,column_F sample.csv > result.csv
標準出力とかコマンドの結果を入力にしたいときはパイプで
$ cat sample.csv |csvcut -c column_A,column_B,column_C,column_D,column_E,column_F
column_A,column_B,column_C,column_D,column_E,column_F
0,1,2,3,4,5