Maison > développement back-end > Tutoriel Python > Comment corriger une « UnicodeDecodeError » lors de la lecture de fichiers texte en Python ?

Comment corriger une « UnicodeDecodeError » lors de la lecture de fichiers texte en Python ?

Mary-Kate Olsen
Libérer: 2024-12-13 00:18:22
original
473 Les gens l'ont consulté

How to Fix a 'UnicodeDecodeError' When Reading Text Files in Python?

Résolution de « UnicodeDecodeError » et conversion d'encodage

En tentant de manipuler des données stockées dans un fichier texte, vous avez rencontré l'erreur suivante :

Traceback (most recent call last):  
File "SCRIPT LOCATION", line NUMBER, in <module>  
    text = file.read()
File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode  
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`  
Copier après la connexion

Cette erreur provient d'une inadéquation entre l'encodage supposé (CP1252) et l'encodage réel du fichier. Pour résoudre ce problème, nous devons identifier l'encodage correct et le spécifier explicitement lors de l'ouverture du fichier.

Identifier l'encodage du fichier

Comme indiqué dans la question, déterminer l'encodage du fichier est crucial. Malheureusement, cela doit être fait manuellement. Les encodages courants incluent Latin-1 et UTF-8. Cependant, étant donné que 0x90 n'est pas un caractère valide en Latin-1, UTF-8 est un candidat fort.

Spécifier l'encodage

Une fois que vous avez déterminé l'encodage , vous pouvez le préciser lors de l'ouverture du fichier à l'aide du paramètre encoding :

file = open(filename, encoding="utf8")
Copier après la connexion

En fournissant le bon encodage, Python pourra décoder correctement le fichier texte et vous permettre de manipuler son contenu sans rencontrer l'exception 'UnicodeDecodeError'.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal