Python - csv in utf8 öffnen

Antworten
Nicoletta
Beiträge: 7187
Registriert: 30.07.2016, 21:20
Wohnort: Oldenburg
Hat sich bedankt: 202 Mal
Danksagung erhalten: 62 Mal

Python - csv in utf8 öffnen

Beitrag von Nicoletta »

Haben wir hier Python Coder?

ich möchte eine csv-Datei öffnen die nicht in utf8 codiert ist. Das führt zu Fehlermeldung.
Also ich hole eine csv Datei per request und speichere sie lokal ab. Diese möchte ich öffnen um sie zu manipulieren. Dazu splitte ich sie in Zeilen. Bis dahin läuft aber das Programm gar nicht.
* Die Radikalität der Realität ist so radikal das die Politik in ihrer Nichtradikalität nicht hinterher kommt. *
Benutzeravatar
Cybermancer
Beiträge: 5272
Registriert: 04.09.2015, 17:35
Hat sich bedankt: 2 Mal
Danksagung erhalten: 72 Mal

Re: Python - csv in utf8 öffnen

Beitrag von Cybermancer »

Kannst du den Sourcecode deines Scriptes und die genaue Fehlermeldung angeben?

Aber wahrscheinlich suchst du das hier:
Since open() is used to open a CSV file for reading, the file will by default be decoded into unicode using the system default encoding (see locale.getpreferredencoding()). To decode a file using a different encoding, use the encoding argument of open:

Code: Alles auswählen

import csv
with open('some.csv', newline='', encoding='utf-8') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
Quelle: https://docs.python.org/3/library/csv.html
You cannot win, only break even.
You can only break even at 0K.
You can never reach 0K.
Denk ich an Deutschland in der Nacht,
Dann bin ich um den Schlaf gebracht,
Ich kann nicht mehr die Augen schließen,
Und meine heißen Tränen fließen.
Nicoletta
Beiträge: 7187
Registriert: 30.07.2016, 21:20
Wohnort: Oldenburg
Hat sich bedankt: 202 Mal
Danksagung erhalten: 62 Mal

Re: Python - csv in utf8 öffnen

Beitrag von Nicoletta »

Danke @Cy,
das Modul csv kannte ich noch nicht. Ich werde es damit probieren.
* Die Radikalität der Realität ist so radikal das die Politik in ihrer Nichtradikalität nicht hinterher kommt. *
Antworten