Error UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe1 in position …….

 La solución más rápida al error, «Error UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe1 in position…» es emplear Sublime Text .

Abrimos nuestro archivo con sublime text y en la opción guardar con encoding guardarlo como UTF 8

Existen otras opciones, veamoslas

Codificar al leer el archivo

Hacer el encoding a UTF-8 al hacer el csv_read(), pasando en el parámetro encoding() la codificación que esperamos.

Importar   chardet y  codificar en la lectura del archivo.

import chardet
with open('data/atp-tour/data.csv', 'rb') as f: result = chardet.detect(f.read())
result['encoding']
Output: 'Windows-1252'

Si lanza un warning de LOW MEMORY se deberá principalmente a los tipos de adivinación por columna, están empleando mucha memoria.

Esto sucede en esencia, porque Pandas solo puede determinar qué tipo de dato tiene cada columna, solamente una vez que lee todo el archivo.

Puede ayudar especificar el tipo de archivo, indicándolo en el parámetro dtype , con la sintaxis.

dtype = {'user_id': int}

Esto es solo recomendable, si sabemos que no encontraremos otro tipo de dato en esa columna, si no cumplimos este precepto, complicaremos la situación , porque se bloqueará la carga.

Hay un poco mas sobre esto en este link

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias

Puedo absorber tus pecados, pero no vivir tu vida.

Y
Translate »