3 votes

Importation d'un fichier csv à l'aide de pd.read_csv - erreur d'octet de départ invalide

J'essaie d'importer un fichier csv en utilisant :

data = pd.read_csv("filename.csv")

J'obtiens l'erreur suivante : "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 2: invalid start byte".

La réponse à cette question : UnicodeDecodeError : le codec 'utf8' ne peut pas décoder l'octet 0x9c pourrait fonctionner, mais je ne suis pas sûr de savoir comment l'appliquer (je ne peux pas commenter la réponse parce que je n'ai pas encore assez de réputation).

Toute aide serait appréciée.

Edit : Le problème semble être lié au fait que j'ai un symbole de diplôme. Cela me conviendrait si ce problème était ignoré lors de l'importation.

9voto

Ritz Points 168

Si vous rencontrez une erreur d'encodage parce que l'encodage de votre fichier n'est pas l'encodage par défaut mentionné par la norme pd.read_csv() vous pouvez trouver l'encodage du fichier en installant d'abord le logiciel chardet suivi du code ci-dessous :

import chardet    
rawdata = open('D:\\path\\file.csv', 'rb').read()
result = chardet.detect(rawdata)
charenc = result['encoding']
print(charenc)

Vous obtiendrez ainsi le codage du fichier.

Une fois que vous avez l'encodage, vous pouvez lire comme :

pd.read_csv('D:\\path\\file.csv',encoding = 'encoding you found')

ou

pd.read_csv(r'D:\path\file.csv',encoding = 'encoding you found')

Vous obtiendrez la liste de tous les encodages ici

J'espère que cela vous sera utile.

0voto

Vous pouvez utiliser l'argument encoding de la fonction pandas read_csv.

Il peut ressembler à cela s'il a vraiment besoin d'être encodé en utf-8.

import pandas as pd
df = pd.read_csv("filename.csv", encoding = 'utf_8')

0voto

Elias Points 1

J'ai résolu le problème en retournant simplement à la feuille Excel et en l'enregistrant au format "CSV UTF-8".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X