LinuxでExcelをCSVに変換するコマンドラインツール

RでExcelのデータを読み込むにはどうすればいいんだろうと思って調べてると、Excelで開いてCSV形式で保存しちゃいなよ、的なこと書いてるところが多い気がします。たぶんコマンドラインでやったほうが楽なんだろうなーと思ったらいくつかコマンドあるらしいです。とりあえずメモっときますが、コマンド動くか確かめたわけじゃないです。

(これだけ書いておきながら何ですが、シート指定する方法が分からなくて、結局Excelで開きました…)

ssconvert

Gnumeric

ssconvert は表計算ソフトGnumeric付属のコマンドです。軽くググった感じ、これがよく出てきた気がします。

ssconvert data.xls data.csv

unoconv

DAG: unoconv: Convert between any document format supported by OpenOffice

内部的にはLibreOfficeを使っていて、Excelに限らずLibreOfficeが読み込めるやつなら何でも処理できるみたいです。これが一番無難そうなイメージ。でも入る依存パッケージはちょっと多めです。

unoconv --format csv data.xls

catdoc

catdoc and xls2csv - free MS-Office format readers

catdocは、MS Officeのファイルをプレーンテキストで出力する、というプロジェクトです。xls2csvというコマンドがあります(このコマンド名、他でもいっぱい使われてるみたいですけど)。割とミニマルそうな感じ。

xls2csv -d utf-8 data.xls > data.csv