Excel があれば「名前を付けて保存」で CSV 形式を選択すれば普通に CSV 形式で保存できるが、引用符の設定が出来ないなど出力に制限がある。なのでコマンドラインで変換したい、かつカスタムしたいという条件を満たすにはどうするか? xlsx2csv を使おう。
使い方は README にある通り python を入れて xlsx2csv.py を 実行すれば良いが、引用符が基本的にない状態で出力されてしまう。どうすればよいか?
114 行目が csv.QUOTE_MINIMAL でハードコードされている。
writer = csv.writer(outfile, quoting=csv.QUOTE_MINIMAL, delimiter=delimiter)
これを csv.QUOTE_ALL に変えればすべてのフィールドが引用符ありで出力される。これ以外のオプションについての説明は csv モジュールの説明 に投げることにする。
writer = csv.writer(outfile, quoting=csv.QUOTE_ALL, delimiter=delimiter)
似たような記事がないか探したけどなかったので書き起こしました。