Maison >développement back-end >Tutoriel Python >Comment puis-je corriger l'UnicodeDecodeError de Pandas lors de la lecture de fichiers CSV ?

Comment puis-je corriger l'UnicodeDecodeError de Pandas lors de la lecture de fichiers CSV ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-03 21:45:40592parcourir

How Can I Fix Pandas' UnicodeDecodeError When Reading CSV Files?

Erreurs de décodage rencontrées lors de la lecture de fichiers CSV avec Pandas

Ce problème survient lors de la lecture de fichiers CSV dans Pandas, entraînant l'erreur suivante :

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 6: invalid continuation byte

La cause sous-jacente est souvent due à des incohérences dans l'encodage du CSV files.

Solution

Pour résoudre cette erreur, la fonction read_csv fournit un paramètre d'encodage. En spécifiant un codage approprié, vous pouvez demander à Pandas d'interpréter correctement le fichier. Les encodages couramment utilisés incluent :

  • UTF-8 : encodage = "utf-8"
  • ISO-8859-1 : encodage = "ISO-8859-1"
  • Latin-1 : encodage = "latin"
  • Windows-1252 : encodage = "cp1252"

Par exemple, si les fichiers CSV sont encodés en ISO-8859-1, vous pouvez utiliser le code suivant :

data = pd.read_csv(filepath, names=fields, encoding="ISO-8859-1")

Détermination du bon Encodage

Si vous n'êtes pas sûr du bon encodage, vous pouvez utiliser des outils comme enca ou file pour analyser le fichier :

  • enca : Fournit un rapport détaillé sur l'encodage du fichier.
  • fichier : Affiche une brève description du fichier, y compris son encodage.

Supplémentaire Ressources

  • [Documentation Pandas CSV](https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html)
  • [Python CSV Déposer Exemples](https://www.pythonprogramming.net/parse-csv-python-file/)
  • [Caractères et encodages Unicode](https://realpython.com/python-encodings-guide/)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn