Excelファイル(~.xls/~.xlsx)をLinuxコンソール上でCSV方式に変換する方法

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