Pythonのcsvパッケージは大変便利です。面倒なエスケープ処理をちゃんと行ってくれます。とりわけ、Excelファイルで送られてきたファイルを処理するのに重宝します。なんといっても、dialect='excel'でExcel CSVをちゃんと読めます。 ところが、日本語が絡むと問題は途端に厄介になります。問題の本質は何か。まず、ExcelのTSVの扱いに関して、以下のことが知られています。 Excelのtsvエクスポートはutf-16(BOM付き)である Excelが直接読めるのはBOM付きutf-16のtsvである(カンマ区切りはウィザードが必要) csv(カンマ区切り)出力や読み込みも可能だがおすすめできない(後述) このことからわかるのは、BOM付きutf-16ファイルを扱うのが最善ということです。これを扱う一番の方法は、ioパッケージを使うことです。 さらっと書きましたが、ioパ