Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]
Dica publicada em Python / Manipulação de Arquivos
Python - UnicodeDecodeError: 'utf-8' codec can't decode byte [Resolvido]
Enfrentei esse problema ao criar um script em Python para ler um arquivo cujo charset era ISO8859-1. O Python esperava por um arquivo UTF-8.
Linha de código que abre um arquivo para leitura:
Ao executar o script, a linha acima apresentava o seguinte erro:
Resolvido!
Linha de código que abre um arquivo para leitura:
f = open('charset-iso.txt', 'r')
Ao executar o script, a linha acima apresentava o seguinte erro:
Traceback (most recent call last):
File "xxxxx.py", line x, in <module>
lines = f.readlines()
File "/usr/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position xxx: invalid continuation byte
Solução
Definir o charset do arquivo na linha de abertura do ponteiro:
f = open('charset-iso.txt', 'r', encoding='iso8859-1')
Resolvido!