[Mac] Terminal で Excel ファイルを csv に変換する1
Excel ファイルを csv に変換したい状況になった。正規表現でバリバリテキスト置換するには、テキストファイルのほうが便利だからだ。
そこで、Mac の Terminal でできる方法に挑戦してみた。
環境:macOS Catalina Version 10.15.2
やり方は簡単で、xlsx2csv をインストールすればいい。
$ sudo pip install xlsx2csv
変換は簡単で以下のようにする。
$ xlsx2csv [Excel ファイルへのパス] [出力したい csv ファイルのパス]
同一ディレクトリに出力したい場合は、csv ファイルのパスを ./[ファイル名].csv とすればいい。
ただし、xlsx は変換できるが、古い xls ファイルは Exception AttributeError などと表示されて変換できない。
そこで xls を xlsx に変換しようと以下の方法を試そうとした。
たくさんのExcel97-2003(xls)ファイルをExcel2007以降(xlsx)ファイルに変換する方法(Mac用) – Qiita
https://qiita.com/swimmy/items/097985ef8a03c2c94337
しかし、私の環境では Automator に Convert Format of Excel Files というアクションがなくなっている。試しに High Sierra でも試してみたが、そこにもアクションが存在しない。
Windows 上で OMPM と MS Office 互換機能パックを使った変更方法もある。
参考:
windows:MS純正ツールを使って古いエクセル形式(.xls)を新しい形式(.xlsx)に一括変換する方法 – Pブロ
https://papa-to-juju.hatenadiary.org/entry/20140109/1389242187
しかし特に MS Office 互換機能パックはインストール要件がややこしかったりして面倒そう。仕方がないので、Mac でいちいちファイルを開いて xlsx で保存し直すことにした。
ただ、すべて手動でやるのは大変なので Keyboard Maestro を使ってマクロを組んで実行した。
xlsx に変換できたので、xlsx2csv が使える。
参考:
zitsen/xlsx2csv.rs: Excel-like Worksheets (eg. .xlsx/.xls/.ods) to CSV Format Converter in Rust
https://github.com/zitsen/xlsx2csv.rs
Excelファイル(~.xls/~.xlsx)をLinuxコンソール上でCSV方式に変換する方法 | 俺的備忘録 〜なんかいろいろ〜
https://orebibou.com/2016/12/excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%EF%BD%9E-xls%EF%BD%9E-xlsx%E3%82%92linux%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E4%B8%8A%E3%81%A7csv%E6%96%B9%E5%BC%8F%E3%81%AB%E5%A4%89%E6%8F%9B/
Recent Posts
Archives