よくある問題だからなのか、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があればどうにかなりそうだ。