Beim Versuch, eine CSV-Datei mit Akzentzeichen mit Python (insbesondere Spanisch oder Französisch) zu lesen, tritt aufgrund von Python ein Problem auf Standard-ASCII-Unterstützung in seinem CSV-Reader.
Um dieses Problem zu beheben, wird ein modifizierter Codeausschnitt vorgeschlagen, um die CSV-Datei wie folgt zu lesen:
<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>
Dieser Code geht davon aus, dass die Eingabedaten bereits in UTF vorliegen -8-Kodierung. Wenn die Eingabedaten in einer anderen Kodierung vorliegen, kann der folgende „Transkodierungs“-Ansatz angewendet werden:
<code class="python">line.decode('whateverweirdcodec').encode('utf-8')</code>
Durch Ersetzen von „whateverweirdcodec“ durch die entsprechende Kodierung können die Eingabedaten zuvor in UTF-8 konvertiert werden wird vom csvreader gelesen.
Das obige ist der detaillierte Inhalt vonWie lese ich eine UTF8-CSV-Datei mit Akzentzeichen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!