Maison >développement back-end >Tutoriel Python >Comment lire un fichier CSV UTF8 avec des caractères accentués en Python ?

Comment lire un fichier CSV UTF8 avec des caractères accentués en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 00:40:29340parcourir

How to Read a UTF8 CSV File with Accented Characters in Python?

Lecture d'un fichier CSV UTF8 avec Python

Lors de la tentative de lecture d'un fichier CSV contenant des caractères accentués avec Python (en particulier l'espagnol ou le français), un problème survient en raison du problème de Python. Prise en charge ASCII par défaut dans son csvreader.

Pour résoudre ce problème, un extrait de code modifié est proposé pour lire le fichier CSV comme suit :

<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 = 'output.csv'
reader = unicode_csv_reader(open(filename))
for field1, field2, field3 in reader:
    ...</code>

Ce code suppose que les données d'entrée sont déjà au format UTF. -8 encodage. Si les données d'entrée sont dans un encodage différent, l'approche de « transcodage » suivante peut être appliquée :

<code class="python">line.decode('whateverweirdcodec').encode('utf-8')</code>

En remplaçant « whateverweirdcodec » par l'encodage approprié, les données d'entrée peuvent être converties en UTF-8 avant en cours de lecture par le csvreader.

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