pandasのto_csv
メソッドで作ったCSVをExcelで開くと文字化けして読めない。
しかし encoding = 'shift_jis' を設定すると
UnicodeEncodeError: 'shift_jis' codec can't encode character '\u3231' in position 245: illegal multibyte sequence
のエンコードエラーが出てしまう。
このような場合の対処方法を1つ紹介。
encoding = 'utf_8_sig' を設定すべし
BOM付きのUTF8エンコードのファイルであればExcelでも文字化けせずに読める。
import pandas as pd df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df.to_csv('./df.csv', encoding='utf_8_sig')