Comment lire un fichier CSV UTF-8 avec Python sans erreurs d'encodage ?

Susan Sarandon
Libérer: 2024-11-03 12:40:31
original
1049 Les gens l'ont consulté

How to Read a UTF-8 CSV File with Python Without Encoding Errors?

Lecture d'un fichier CSV UTF8 avec Python

Problème

Lors de la tentative de lecture d'un fichier CSV contenant des caractères spéciaux avec Python, une exception est rencontrée. Le code utilise l'encodage et le décodage pour convertir entre ASCII et UTF-8, mais cette approche produit toujours une erreur.

Solution

Le code d'origine utilise la méthode .encode de manière incorrecte en l'appliquant à un chaîne d'octets au lieu d'une chaîne Unicode. Pour résoudre ce problème, le code simplifié suivant peut être utilisé :

<code class="python">import csv

def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs):
    csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs)
    for row in csv_reader:
        yield [unicode(cell, 'utf-8') for cell in row]

filename = 'da.csv'
reader = unicode_csv_reader(open(filename))
for field1, field2, field3 in reader:
  print field1, field2, field3 </code>
Copier après la connexion

Ce code lit efficacement les données codées en UTF-8 dans une liste Python sans avoir besoin de transcodage.

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