Ich habe UTF-8 (kein BOM) CSV-Datei kodiert:Ausgabe CSV-Datei-Codierung ist falsch UTF-8
aaa;bbb;ccc
fff;äää;ööö
folgenden Ausschnitt liest die Datei und speichert ihn dann wieder unterschiedliche Codierung:
import csv
rows = []
with open('test_in.csv', 'r', newline='') as file:
csvReader = csv.reader(file, delimiter=';')
for row in csvReader:
rows.append(row)
with open('test_out.csv', 'w', newline='', encoding='iso-8859-1') as file:
csvWriter = csv.writer(file, delimiter=';', quoting=csv.QUOTE_MINIMAL)
for row in rows:
csvWriter.writerow(row)
Problem: Gespeicherte Datei ist nicht ISO-8859-1, aber utf-8 codiert.
Wenn ich die Datei las mit folgenden Liste in meiner UTF-8 kodierten Quellcodedatei ersetzen, funktioniert es richtig:
rows = [
['aaa','bbb','ccc'],
['fff','äää','ööö']
]
Ist das ein Fehler in Python? Oder muss ich zusätzliche Kodierungsoptionen verwenden?
Getestet mit Python 3.4.