[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/
Amazon.co.jp: 入門者のLinux 素朴な疑問を解消しながら学ぶ (ブルーバックス) eBook : 奈佐原顕郎: 本
https://amzn.to/47EVKj3
関連記事:
- [確定申告][iOS][Mac] App Store で購入したアプリの領収書を発行する4つの方法
- [確定申告][Chrome] 複数の Gmail メッセージを一括印刷する
- [確定申告][Chrome] Amazon の注文履歴から、領収書一括出力や csv 書き出し
- Adobe Creative Cloud の更新 2020
- Adobe Creative Cloud メンバーシップの有効期限が切れるとどうなるか
- PA API 4.0 から PA API 5.0 へのアップグレード
- [Mac] PDF 差分チェッカー “diff-pdf”
- [Mac] ターミナルで TeamViewer を強制終了する