ich bin neu hier im Forum und habe ein kleines Problem, bei dem ich nicht weiterkomme. Ich möchte eine CSV-Datei einlesen, die Umlaute und spanische Akzentvokale enthält. Die Wörter in der Datei sollen dann in einer Liste gespeichert werden.
Das Problem dabei ist allerdings, dass die Umlaute in der Liste nicht korrekt dargestellt werden. Ein „ö“ wird dann z. B. zu \xf6. Bei der Ausgabe außerhalb eine Liste werden die Sonderzeichen richtig dargestellt, nur eben in der Liste nicht.
Ich habe mittlerweile diverse Foreneinträge durchstöbert (darunter auch hier im Forum). Inzwischen habe ich gelernt, dass es etwas mit der Codierung (ASCII/Unicode) zu tun hat. Da ASCII keine Sonderzeichen wie Umlaute unterstützt, muss der Text in Unicode umgewandelt werden. Mit den angebotenen Lösungen bin ich bislang aber leider auf keinen grünen Zweig gekommen. Kann mir jemand weiterhelfen?? Für Hilfe wäre ich sehr dankbar.
Allerseits schon mal nen guten Rutsch!
Und so sieht mein Code aus:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
#!/usr/bin/env python
import codecs
datei = open("vokabeln.csv")
gesamtertext = datei.read()
datei.close()
dec = gesamtertext.decode('iso-8859-1')
print '"gesamtertext" ist vom Typ:',type(gesamtertext)
print 'Der dekodierte "Unicode"-Text ist vom Typ:',type(dec)
zeilenliste = dec.split(chr(10))
liste = []
for zeile in zeilenliste:
if zeile:
zwliste = zeile.split(";")
liste.append([zwliste[0],zwliste[1]])
print ""
print "Ausgabe in einer Liste:"
print liste
print ""
print "Ausgabe außerhalb einer Liste:"
for vok in liste:
print "%-18s" % vok[0], "%-19s" % vok[1]
Code: Alles auswählen
"gesamtertext" ist vom Typ: <type 'str'>
Der dekodierte "Unicode"-Text ist vom Typ: <type 'unicode'>
Ausgabe in einer Liste:
[[u'hola', u'Hallo'], [u'el coche', u'Auto'], [u'ir en tren', u'mit dem Zug fahren'], [u'mana\xf1a', u'morgen'], [u'el pescado', u'Fisch'], [u'la estaci\xf3n', u'Bahnhof'], [u'adem\xe1s', u'au\xdferdem'], [u'el gui\xf3n', u'Bindestrich'], [u'el alem\xe1n', u'Deutsch'], [u'\xfatil', u'n\xfctzlich'], [u'con sus lenguas', u'mit ihren Sprachen'], [u'una metr\xf3polis', u'Weltstadt'], [u'yo tambi\xe9n', u'ich auch'], [u'la colonia', u'Kolonie'], [u'austrac\xedaco', u'\xf6sterreichisch'], [u'Qu\xe9 bien!', u'Wie sch\xf6n!'], [u'seg\xfan', u'gem\xe4\xdf,nach'], [u'la an\xe9cdota', u'Anekdote'], [u'el art\xedculo', u'Artikel']]
Ausgabe außerhalb einer Liste, so wie sie auch in einer Liste aussehen soll:
hola Hallo
el coche Auto
ir en tren mit dem Zug fahren
manaña morgen
el pescado Fisch
la estación Bahnhof
además außerdem
el guión Bindestrich
el alemán Deutsch
útil nützlich
con sus lenguas mit ihren Sprachen
una metrópolis Weltstadt
yo también ich auch
la colonia Kolonie
austracíaco österreichisch
Qué bien! Wie schön!
según gemäß,nach
la anécdota Anekdote
el artículo Artikel