es gibt schon viele Beiträge zum Umlaut Thema, doch leider habe ich es noch nicht so richtig verstanden, wie es funktioniert. Als Anfänger habe ich da wohl so meine Anlaufschwierigkeiten.
Ich möchte gern eine Datei mit csv einlesen und den Inhalt der Datei, die auch Umlaute beinhalten kann letztendlich mit sql in eine Datenbank schreiben.
Leider scheitert es jetzt schon daran, dass ich die Umlaute nicht lesbar in meiner Liste dargestellt bekomme. Wenn ich utf-8 in latin-1 wechsle, dann wird es "besser" aber noch nicht gut. Wie funktioniert es denn?
So sieht es momentan aus. Ich sitze fest und freue mich auf jede Lösung, wenn ich sie auch verstehe:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import codecs
import csv
"""
umlaut.dat
Erste Zeile;Ein Wort mit kleinem ö, wie Möwe;Ein Wort mit ß, wie es in groß steht;Ein Satz mit ü, wie die Kuh macht muh,viele Kühe machen Mühe;
Zweite Zeile;Ein Wort mit großem Ö, wie Ödipus;Ein Wort mit großem Ä, wie Ärger;Ein kleines ä steht in ärgerlich;
"""
fi = open("umlaut.dat",'r')
reader = csv.reader(codecs.EncodedFile(fi, 'utf-8', 'latin-1'), delimiter=';', quoting=csv.QUOTE_NONE)
data = list(reader)
print data
"""
Ergebnis:
[['Erste Zeile', 'Ein Wort mit kleinem \xc3\xb6, wie M\xc3\xb6we', 'Ein Wort mit \xc3\x9f, wie es in gro\xc3\x9f steht', 'Ein Satz mit \xc3\xbc, wie die Kuh macht muh,viele K\xc3\xbche machen M\xc3\xbche', ''], ['Zweite Zeile', 'Ein Wort mit gro\xc3\x9fem \xc3\x96, wie \xc3\x96dipus', 'Ein Wort mit gro\xc3\x9fem \xc3\x84, wie \xc3\x84rger', 'Ein kleines \xc3\xa4 steht in \xc3\xa4rgerlich', '']]
"""