ubuntuusers.de

Python CSV Import und die Zeichenkodierung definieren ISO-8859-15

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

bongobong

Avatar von bongobong

Anmeldungsdatum:
12. Dezember 2008

Beiträge: 1820

Wohnort: Hamburg

Hallo,

ich bestelle zwar schon seit längerem mit CSV-Dateien, einen Durchblick habe ich aber noch nicht.

Wie definiere ich denn, das die zu öffnende Datei die Zeichenkodierung ISO-8859-15 hat?

Wenn ich es nur wie im Beispiel mache erhalte ich in der "datei" nur "K\xe4ufer"

Beispiel: imput_file ISO-8859-15, Seperator ;

1
2
3
4
5
6
7
8
9
import csv
ebay_customer_list_reader = csv.reader(open(file_import, "rb"),delimiter=';')
ebay_customer_list = []
ebay_customer_list.extend(ebay_customer_list_reader)
customer = ebay_customer_list[1]

datei = open(dateiname, 'w')
datei.writelines(str(customer)
datei.close()

Ich finde leider nur Themen zu dem Unicode-Sonderfall

bongobong

(Themenstarter)
Avatar von bongobong

Anmeldungsdatum:
12. Dezember 2008

Beiträge: 1820

Wohnort: Hamburg

Ok, ich habe mich täuschen lassen: Nur wenn ich die Liste komplett in die "file" schreibe werden die Inhalte wie "Käufers" als "K\xe4ufer" dargestellt. Lasse ich nur die Inhalte der Liste schreiben stimmt das Ergebnis, die Datei wird dann standardmäßig auch ISO-8859-15 codiert.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

wenn du weißt, dass die Eingabedatei ISO-8859-15 kannst du doch die Felder nach dem einlesen nach Unicode dekodieren... Oder habe ich dein Problem falsch verstanden?

Gruß, noisefloor

bongobong

(Themenstarter)
Avatar von bongobong

Anmeldungsdatum:
12. Dezember 2008

Beiträge: 1820

Wohnort: Hamburg

Ja, Danke, habe da einiges falsch verstanden.

Antworten |