UnicodeDecodeError: 'utf-8' codec can't decode byte

Solucionar el error UnicodeDecodeError: ‘utf-8’ codec can’t decode byte en Python

Me encontraba tratando de leer un archivo de texto en Python, para extraerle unos datos, pero al momento de ejecutar el script me sale el siguiente error: UnicodeDecodeError: ‘utf-8’ codec can’t decode byte

Eso sucede porque el archivo de texto que estamos tratando de leer desde Python, est谩 codificado en otro sistema de caracteres distinto a UTF-8. Si estamos en Ubuntu Linux, podemos validar el sistema de codificaci贸n de caracteres de un archivo de texto con el comando uchardet:

Instalamos uchardet

sudo apt install uchardet

Entonces validamos la codificaci贸n del archivo de texto en cuesti贸n

uchardet el_archivo.txt

Desde el ambiente gr谩fico, podemos emplear el editor de textos Kate, y 茅ste nos muestra el tipo de codificaci贸n del archivo en su barra de estado.

En fin, para resolver el problema ese de ‘utf-8’ codec can’t decode byte, debemos convertir el archivo de texto a codificaci贸n UTF-8. Para eso, nos valemos del comando iconv, especific谩ndole la codificaci贸n actual que tiene el archivo problem谩tico (que en mi caso es ISO-8859-15), y el nuevo archivo con la codificaci贸n UTF-8. La siguiente imagen resume este procedimiento.

UnicodeDecodeError: 'utf-8' codec can't decode byte

Ahora s铆 podemos ejecutar nuevamente nuestro script Python apuntando al nuevo archivo de texto,聽 y no volver谩 a salir ese error relacionado con la codificaci贸n de caracteres.

Comparte esto en
Publicado en GNU Linux, Python.

Deja una respuesta

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *