‘cp932’ codec can’t encode character

CSV出力しようとした時、
下記コードにてcp932エラーが。

writer.writerows(data_detail)

‘cp932’ codec can’t encode character

どうやらopenする際に文字コードを指定していないのが
いけないみたいですね。


【修正前】

 with open(csv_path, 'w') as file:

【修正後】

with open(csv_path, 'w',encoding='utf-8') as file:

これでcp932のエラーが発生しなくなりましたが、
今度はCSV出力した内容が文字化けするようになりました、、、
ので、encodeしている部分を更に修正して
下記で文字化けもエラーが消えています。

【完成系】

with open(csv_path, 'w',encoding='utf_8_sig') as file:

BOM付きのUTF-8を指定してあげる。
というところがポイントみたいです。

以上です。
最後までお読みいただきありがとうございました!