Erreur d'encodage dans Panda lire csv [dupliquer]

Cette question a déjà une réponse ici:

J'essaie de lire un fichier CSV dans un Dataframe dans les Pandas. Quand j'essaie de le faire, j'obtiens l'erreur suivante:

UnicodeDecodeError: le codec 'utf-8' ne peut pas décoder l'octet 0x96 en position 55: début invalide octet

C'est du code:

import pandas as pd

location = r"C:UserskhtadDocumentstest.csv"

df = pd.read_csv(location, header=0, quotechar='"')

Ceci est sur une machine Windows 7 Enterprise Service Pack 1 et il semble s'appliquer à tous les fichiers CSV que je crée. Dans ce cas particulier, le binaire de l'emplacement 55 est 00101001 et l'emplacement 54 est 01110011, si cela compte.

Enregistrer le fichier en UTF-8 avec un éditeur de texte ne semble pas non plus aider. De même, l'ajout du paramètre "encoding =' utf-8 ' ne fonctionne pas non plus-il renvoie la même erreur.

Quelle est la cause la plus probable de cette erreur et Existe-t-il des solutions de contournement autres que l'abandon de la construction DataFrame pour le moment et l'utilisation du module csv pour lire dans le CSV ligne par ligne?

22
demandé sur khtad 2015-05-26 18:28:16

2 réponses

Essayez d'appeler read_csv avec encoding='latin1', encoding='iso-8859-1' ou encoding='cp1252' (ces sont quelques-uns des différents codages trouvé sur Windows).

60
répondu maxymoo 2018-08-14 23:49:26

Cela fonctionne aussi sur Mac, vous pouvez utiliser

df= pd.read_csv('Region_count.csv',encoding ='latin1')

5
répondu sushmit 2016-08-08 01:31:06