Excel Sonderzeichen/Umlaute und Teilstring Problem
Verfasst: Freitag 30. März 2012, 14:07
Hallo zusammen
ich bin absoluter python anfänger das vorweg
Ja ich weiss es gibt reichlich Lösungsansätze bezüglich meines Problems aber die gefundenen Lösungen beziehen sich auf xlsx oder win32com.client Klassen basierten Skripten.
Ich kann leider auf Grund der Aufgabenstellung keine zusätzlichen Klassen "downloaden" und verwenden.
also mein daten:
Excel Datei mit einem Tabellenblatt mit 6 Splaten mit Informationen über Postleitzahl,Adresse mit Hausnummer,Stadt,Stadtteil, Name => diese habe ich umgewandelt in Excel zu einer csv mit Leerzeichentrennung
Mein Quellcode soweit:
Jetzt zu meinen konkreten Problemen samt Beispiel
Die Umlaute:
Ich habe Addressen sowohl mit "ö" "ä" als auch "ß" im Namen zb.: "Blöde Straße 4a" wie schaffe ich es das "ö" in ein oe zubekommen [oder es als "ö" zuspeichern] und dass "ß" zubehalten?
Grund ist dass ich die Ausgelesenen Daten dann wieder rum weiterreichen will und damit die Eindeutigkeit der Strasse / Straße bestehen bleibt muss ich halt diese Dinge mitschleppen
Ich habe es sowohl über # -*- coding: iso-8859-15 -*- als auch durch replace / search / match versucht aber bin gescheitert....
Teilstrings:
Meine Addressen beinhalten Informationen wie Hausnummer 112-114 ( Bsp.: "Blöde Straße 114-115") wie schaffe ich es nun nur die 114 als zahl rauszufiltern? ich habe schon geschafft nur die zahlen rauszufiltern
Ja ich weiss dass es auch Hausnummern wie 14a gibt aber dazu bin ich einfach noch zu unfähig auch die rauszuprogrammieren
Problem: so bekomme ich auch das "a" von zb "Blöde Straße 14 a" :s
Ich bin für jedliche Verbesserung und Hilfe sehr dankbar!!!
Vielen Dank
ich bin absoluter python anfänger das vorweg
Ja ich weiss es gibt reichlich Lösungsansätze bezüglich meines Problems aber die gefundenen Lösungen beziehen sich auf xlsx oder win32com.client Klassen basierten Skripten.
Ich kann leider auf Grund der Aufgabenstellung keine zusätzlichen Klassen "downloaden" und verwenden.
also mein daten:
Excel Datei mit einem Tabellenblatt mit 6 Splaten mit Informationen über Postleitzahl,Adresse mit Hausnummer,Stadt,Stadtteil, Name => diese habe ich umgewandelt in Excel zu einer csv mit Leerzeichentrennung
Mein Quellcode soweit:
Code: Alles auswählen
# -*- coding: iso-8859-15 -*-
import csv
##reader = csv.DictReader(open("asd.csv", "rb"))
def csv_auslesen(Dateiname):
reader = csv.reader(open(Dateiname, "rb") , delimiter=";")
ort=[]
postcode=[]
strasse=[]
ortsteil=[]
country=[]
name=[]
for row in reader:
ort.append( row[1])
postcode.append( row[0])
strasse.append( row[2])
ortsteil.append( row[3])
country.append( row[4])
name.append( row[5])
## Um Spaltennamen zulöschen
del postcode[0]
del ort[0]
del strasse[0]
del ortsteil[0]
del country[0]
del name[0]
##for a in strasse:
## a.replace(unichr(252) ,"ue")
## a.replace(unichr(246) ,"oe")
return postcode,ort,strasse,ortsteil,country,nameDie Umlaute:
Ich habe Addressen sowohl mit "ö" "ä" als auch "ß" im Namen zb.: "Blöde Straße 4a" wie schaffe ich es das "ö" in ein oe zubekommen [oder es als "ö" zuspeichern] und dass "ß" zubehalten?
Grund ist dass ich die Ausgelesenen Daten dann wieder rum weiterreichen will und damit die Eindeutigkeit der Strasse / Straße bestehen bleibt muss ich halt diese Dinge mitschleppen
Ich habe es sowohl über # -*- coding: iso-8859-15 -*- als auch durch replace / search / match versucht aber bin gescheitert....
Teilstrings:
Meine Addressen beinhalten Informationen wie Hausnummer 112-114 ( Bsp.: "Blöde Straße 114-115") wie schaffe ich es nun nur die 114 als zahl rauszufiltern? ich habe schon geschafft nur die zahlen rauszufiltern
Code: Alles auswählen
hausnummer= filter(lambda x: x.isdigit(),strasse[i])Code: Alles auswählen
adresse = re.findall('(()?[a-zA-Z_]+)',strasse[i],re.IGNORECASE |re.UNICODE)Ich bin für jedliche Verbesserung und Hilfe sehr dankbar!!!
Vielen Dank