hab wie nicht anders zu erwarten ein Shapefile, bei dem eine Attriputspalte zum größten Teil komplett in Großbuchstaben geschrieben ist. Ich möchte nun die Wörter mit ordenltichen, sprich mit Groß-und Kleinschreibung beachtenden Wörtern ersetzen. Auslesen, und schreiben funktioniert 1a allerdings hab ich Probleme bei den Umlauten.
Wenn ich nen string hab ist alles bestens, allerdings muss ich diesen aufsplitten, da jedes Wort einzeln bearbeitet werden muss:
z.b.: "DAS KLEINE HAUS ist GRÜN" soll "Das kleine Haus ist grün" werden.
allerdings wird immer nur "Das kleine Haus ist GrÜN" daraus, da das Ü nach dem splitten als \xdc erkannt wird. Wie kann ich den split befehl nun dazu bringen das Ü richtig einzulesen?
P.S: \xdc ist ISO-8859-1
hier noch ein Testcodeschnipsel bei dem das Split was anders macht als es soll:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
import sys, re
p = re.compile('(\W+)')
k=""
string = "DAS KLEINE HAUS ist GRÜN"
print string
print p.split(string)
for b in range(len(p.split(string))):
if p.split(string)[b].istitle() and z==0:
k = k+p.split(string)[b]
elif p.split(string)[b].islower() and z==0:
k = k+p.split(string)[b]
elif z==1:
k = k+p.split(string)[b].capitalize()
z=0
else:
k = k+p.split(string)[b].capitalize()
print k
Ergebnis von Split:
Code: Alles auswählen
['DAS', ' ', 'KLEINE', ' ', 'HAUS', ' ', 'ist', ' ', 'GR', '\xdc', 'N']