Pythonで書き出したCSVが文字化けする


スポンサーリンク

Pythonのcsvモジュールを用いてUTF-8のエンコーディングでCSVファイルを書き出した後、Microsoft Excelでそれを読み込みたい時があります。その時、普通に書き出したファイルはShift-JISとして読み込まれてしまうようで、文字化けしてしまいます。

その場合、UTF-8でファイルをopenする際に、BOMを付加するようなencodingを指定することで、問題を回避できます。

以下のように'utf_8_sig'というencodingを指定してCSVファイルをopenすることで、BOMを付加することができます。

import csv
with open('hoge.csv', 'w', encoding='utf_8_sig') as f:
    writer = csv.writer(f)
    writer.writerow(['にほんご', '日本語💛'])

以上です。ご覧いただきありがとうございました。

この記事への感想を教えてください
  • 内容が十分
  • 内容が足りなかったが役立った
  • 内容が足りず役立たなかった
  • 求めている記事ではなかった
last

フォローする