Maison >développement back-end >Tutoriel Python >Comment puis-je résoudre UnicodeDecodeError lors de la lecture de fichiers CSV dans Pandas ?

Comment puis-je résoudre UnicodeDecodeError lors de la lecture de fichiers CSV dans Pandas ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 09:16:11426parcourir

How Can I Resolve UnicodeDecodeError When Reading CSV Files in Pandas?

UnicodeDecodeError : résolution des problèmes d'encodage lors de la lecture de fichiers CSV dans Pandas

Introduction

Travailler avec Les fichiers CSV présentent souvent des problèmes d'encodage, en particulier lorsqu'ils rencontrent des caractères non pris en charge par l'encodage par défaut. Pandas, une bibliothèque de manipulation de données populaire en Python, fournit la méthode read_csv() pour importer des données à partir de fichiers CSV. Cependant, cette méthode peut parfois rencontrer l'UnicodeDecodeError lorsqu'elle traite des caractères codés Unicode.

Analyse des erreurs

Le message d'erreur fourni indique que la méthode read_csv() est en difficulté pour décoder un octet dans le fichier en utilisant le codage UTF-8 par défaut. L'octet de continuation non valide suggère que le fichier a peut-être été encodé avec un encodage différent.

Résolution du problème

Pour résoudre cette erreur, vous pouvez spécifier explicitement l'encodage lorsque lire le fichier CSV. Pandas fournit le paramètre d'encodage à cet effet. Les approches suivantes peuvent être utilisées :

  • Encodage ISO-8859-1 :
    Utilisez l'encodage ISO-8859-1, qui est couramment utilisé pour les langues occidentales. Jeux de caractères européens :

    data = pd.read_csv(filepath, encoding="ISO-8859-1")
  • UTF-8 Encodage :
    Vous pouvez également essayer d'utiliser l'encodage UTF-8, qui convient aux jeux de caractères mondiaux :

    data = pd.read_csv(filepath, encoding="utf-8")

Autres alias pour ISO-8859-1, tels que comme « latin » ou « cp1252 », peut également être utilisé. Reportez-vous à la documentation Pandas ou à la documentation Python pour une liste complète des encodages pris en charge.

Détection de l'encodage de fichier

Si vous n'êtes pas sûr de l'encodage du fichier CSV, vous pouvez utiliser des outils comme enca, file -i sous Linux ou file -I sous macOS pour déterminer le bon encodage.

Ressources supplémentaires

  • [Documentation Pandas read_csv()](https://pandas.pydata.org/pandas-docs/stable/reference /api/pandas.read_csv.html)
  • [Module Python csv Exemples](https://docs.python.org/3/library/csv.html#examples)
  • [Ce que tout développeur devrait savoir sur Unicode et les jeux de caractères](https://unicode.org/ rapports/tr15/)

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