問題点
Windows上でPythonを使っている場合、open関数でファイルを開いたときにUnicodeDecodeErrorが出ることがあります。
原因はWindowsがデフォルトでcp932でファイルをエンコーディングしてしまうことのようで、下記のようにopen関数にencodingの指定をすればエラー解消できます。
sample.py
open('sample.csv', encoding='utf-8')
問題はライブラリパッケージ内でこのエラーが出た時です。自力でライブラリを書き換えたくはないので、上記以外の方法が必要です。
一番簡単なのはシステム環境変数にPYTHONUTF8を1で登録すれば良いらしいです。ただしこの方法だとプログラムを実行する環境ごとに設定が必要で、ちょっと面倒です。
最終的にプログラムのエントリポイントで下記を実行して、環境変数を書き換えることにしました。
sample.py
import os
os.environ.setdefault('PYTHONUTF8', '1')
これで何か不都合あれば再調査しようと思います。
参考文献
下記を参考にさせて頂きました。
環境変数を書き換えたくない場合にはこの方法が良いのかもしれません。
【Windows】黒魔術で Python が CP932 関係で UnicodeDecodeError を出さないように強制する