¿Cómo uso la encoding (Python 3) para arreglar el código no ASCII para la importación CSV en Pandas?

El archivo CSV que estoy tratando de leer en pandas no tiene carácter ascii, pero no tengo suerte con la función de encoding. Estoy usando python 3.

El error que obtuve originalmente fue …

UnicodeDecodeError: el codec ‘utf-8’ no puede decodificar el byte 0xa0 en la posición 252: el byte de inicio no es válido

Así que usé file_name.encode('ascii') pero ahora obteniendo …

OSError: Nombre esperado de la ruta del archivo u objeto similar a un archivo, tipo conseguido

Mi código…

 import pandas as pd location = "C:\\Downloads\\" file = "file.csv" file_name = location + file master = pd.read_csv(file_name.encode('ascii')) df = master df 

Sé que hay un personaje allí que necesita ser codificado, así que solo bash escribir algo que permita a los pandas leer el CSV.

¡Muchas gracias!

El problema es que no desea utilizar la encoding ASCII en el nombre del archivo. Desea leer los datos en el archivo, con la encoding de ese archivo, y luego crear un dataframe pandas a partir de los datos CSV existentes.

De acuerdo con la documentación , read_csv puede trabajar con un objeto de archivo tan fácilmente como puede funcionar con una ruta a ese archivo.

En su forma más simple, quieres algo como:

 file_obj = open(file_name, encoding="utf-8") master = pd.read_csv(file_obj) 

Por supuesto, si la encoding no es utf-8, querrá poner la encoding adecuada en el comando de open . Si no conoce la encoding, pruebe las codificaciones típicas una a la vez hasta que funcione. Los más populares son ‘utf-8’, ‘ascii’ y ‘latin-1’.