よくある、利用される問題だからなのか、LinuxやMac OS XでExcelファイル(.xlsや.xlsxファイル)をコンソール上でCSV方式に変換するためのコマンドは数多く用意されている。
で、今回はその中でも使えそうなものを2つほど抜粋してみようと思う(エクシェル芸な勉強会近いし)。
1.xlsx2csv
こういった用途では一番多く使われているだろう、xlsx2csvコマンドを用いての変換。
xlsx2csvコマンド自体は以下でインストールができる。
pip install xlsx2csv
CSV形式への変換は以下のコマンドで行える。
オプションでどのシートを変換するかについても選べるので、複数シートがある場合でも問題ないだろう。
xlsx2csv ExcelファイルPATH [CSVファイルPATH]
[root@BS-PUB-CENT7-01 ~]# xlsx2csv Book2.xlsx ,test,1234,2222,3456, ,tertete,gdgrhg,3333,gdgrhg3333,
2.in2csv(csvkit)
こちらでも触れたのだが、『csvkit』というツールの変換コマンドである「in2csv」を使うことで変換する。
『csvkit』のインストール方法は以下。
pip install csvkit
ExcelからCSV形式に変換する「in2csv」の実行方法は以下。
in2csv ExcelファイルPATH
[root@BS-PUB-CENT7-01 ~]# in2csv Book2.xlsx ,,,, ,test,1234,2222,3456 ,,,, ,tertete,gdgrhg,3333,gdgrhg3333
実行結果をxlsx2csvと見比べると、どうも数式が入ってると余計な行を挟んでくるようだ。
とりあえず、CSVに変換するだけであればxlsx2csvがあればどうにかなりそうだ。