web-dev-qa-db-fra.com

UnicodeDecodeError: le codec 'utf-8' ne peut pas décoder l'octet 0xcc en position 3: octet de continuation non valide

J'essaie de charger un fichier csv à l'aide de pd.read_csv mais j'obtiens l'erreur unicode suivante:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 3: invalid continuation byte
3
Josephine M. Ho

Malheureusement, les fichiers CSV n’ont pas de méthode intégrée de signalisation du codage de caractères.

read_csv choisit par défaut de deviner que les octets du fichier CSV représentent du texte codé dans le codage UTF-8. Cela se traduit par UnicodeDecodeError si le fichier utilise un autre codage qui entraîne des octets qui ne constituent pas une séquence UTF-8 valide. (S'ils par chance étaient également valides comme UTF-8, l'erreur ne serait pas obtenue, mais vous auriez toujours une erreur de saisie pour les caractères non-ASCII, ce qui serait vraiment pire.)

C'est à vous de spécifier quel encodage est en jeu, ce qui nécessite une certaine connaissance (ou deviner) d'où il vient. Par exemple, si cela venait de MS Excel sur une installation occidentale de Windows, ce serait probablement la page de code Windows 1252 et vous pourriez le lire avec:

pd.read_csv('../filename.csv', encoding='cp1252')
13
bobince

J'ai eu l'erreur suivante

UnicodeDecodeError: le codec 'utf-8' ne peut pas décoder l'octet 0xe9 en position 51: octet de continuation invalide

C'est parce que j'ai apporté des modifications au fichier et à son encodage. Vous pouvez également essayer de changer l'encodage du fichier en utf-8 en utilisant un éditeur de code ou nqq dans ubuntu car cela fournit une option de répertoire pour changer l'encodage. Si le problème persiste, essayez d’annuler toutes les modifications apportées au fichier ou de modifier le répertoire.

J'espère que cela t'aides

0
rahul ranjan

Copiez le code, ouvrez un nouveau fichier .py, entrez le code et enregistrez.

0
Happy Happy