コマンドラインでCSVを縦横変換出来るdatamashコマンドが便利なのでメモ。
まずはインストール。
$ sudo apt install datamash -y
CSVファイルを用意する。
1,2,3 hoge,fuga,piyo foo,bar,baz
datamashコマンドを実行。
$ cat tmp.csv | datamash transpose -t, 1,hoge,foo 2,fuga,bar 3,piyo,baz
縦横が入れ替わって出力される。
列数が不揃いな場合は、 –no-strict オプションを使えば足りないカラムは N/A という文字で埋めてくれる。