スポンサーリンク
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(['にほんご', '日本語💛'])
以上です。ご覧いただきありがとうございました。