【Python3】xlsxをcsvに変換する【xlsx2csv】
大量かつ大きめxlsxファイルを同名のままcsvに変換したかったのですが、良い方法やソフトが見つからなかったため自力で行いました。
多分もっとスマートなやり方があるんだろうなと思いつつ、とりあえずメモ。
環境
準備
pipでxlsx2csvを入れます。
pip install xlsx2csv
これで恐らくxlsx2csv
コマンドが使えるようになったはず。
シェルスクリプト
変換のためのシェルスクリプトを書きます。
files="/path/to/xlsx/dir/*.xlsx" save_dir="/path/to/save/dir/" for filepath in ${files} do filename=`basename ${filepath} .xlsx` xlsx2csv -s 1 $filepath $save_dir$filename.csv done
-s 1
はxlsx2csvのオプションです。
1枚目のシートのみ出力することを意味します。
オプションは適宜設定して下さい。
記述が終わったら、ファイルを適当な場所に保存します。
とりあえずconvert_xlsx2csv.sh
という名前で保存します。
ちなみに、保存先のディレクトリは存在する必要がある点のみ注意です。
後は保存したファイルに実行権限を与えて、shファイルを実行すれば出力されます。
# convert_xlsx2csv.shのあるディレクトリで
chmod +x convert_xlsx2csv.sh
./convert_xlsx2csv.sh
上手くいけば、csvと化した元xlsxファイルたちが見られるはずです。