UnicodeDecodeError
文字コードの解釈に失敗したときに発生するエラーです。特に日本語を含むファイルの読み込みで起きやすいです。
原因
ファイルの文字コード(Shift-JISなど)と、読み込み時に指定した文字コード(UTF-8など)が一致していないことが原因です。
エラーになるコード例
with open('data.txt', 'r', encoding='utf-8') as f:
print(f.read())
# data.txtがShift-JISで保存されている場合など修正版
with open('data.txt', 'r', encoding='shift_jis') as f:
print(f.read())よくある間違い
- Windowsで保存されたShift-JISファイルをUTF-8として読み込もうとする
- ファイルのエンコーディングを確認せずに open() を使う