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パ
![PythonでExcelのCSVファイルを扱う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/6ab8d8d4ff42cbdef54d6ccec2020e6d55e6af88/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHl0aG9uJUUzJTgxJUE3RXhjZWwlRTMlODElQUVDU1YlRTMlODMlOTUlRTMlODIlQTElRTMlODIlQTQlRTMlODMlQUIlRTMlODIlOTIlRTYlODklQjElRTMlODElODYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWFiZmEwNDQxODQxZDQ5M2Q2YWI5NmE4ZTM1MmQ4MjA3%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1bm5vbm91bm8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTljNDU1NWVkZTY5YWE1YWUwYjE0ZjkzZDIxMDhlNjNl%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D123c437f6708a2e134e5cf0e661f886b)