versuche mich seit einigen Tagen auch mit Python und bin programmieranfänger.
Ich kann üer openpyxl eine Exceldatei einlesen und kann auch nach der PLZ die mengen an adressen auszählen.
Ich tue mich noch schwer mit der konvertierung in die entsprechenden datentypen.
Nun möchte ich aber die PLZ nach den ersten 2 Zahlen der PLZ aufaddieren.
und das bekomme ich nicht hin.
hier mein Code, mit dem ich gespielt habe:
Code: Alles auswählen
#! Python3
import openpyxl
wb = openpyxl.load_workbook(r'C:\Users\xxxx\Desktop\xls\test.xlsx')
for name in wb.sheetnames:
print('Tabellenblatt: ', name)
sheet = wb[name] # variable sheet war vorher ws
plz = []
plz2 = [] # mein versuch mit 2-stelliger plz
ltregion = [] # weiterer versuch mit 2-stelliger plz
ltplz = [] # und noch mehr versuche mit der plz
for row in range(2,sheet.max_row +1):
plz.append(sheet['H' + str(row)].value)
# plz = liste aller postleizahlen
for cutter in plz:
plz2.append(str(cutter)[0:2])
# Liste der 5stelligen PLZ in Excel
anzahlplz = set(plz)
print('Anzahl verschiedener PLZ: ', len(anzahlplz))
# Liste der 5stelligen PLZ in Excel slicen nach 2stelligen PLZ und ein neues Set erstellen
for t in anzahlplz:
ltregion.append(str(t)[0:2])
plzregionmenge = set(ltregion)
plzregion = list(plzregionmenge)
print('Anzahl der 2-stelligen Leitregionen:', len(plzregion))
count = 0
i=0
for i in plzregion:
print('plzregion: ', i)
for stkzahl in anzahlplz:
count +=1
print(str(count), ";", str(stkzahl), ";", plz.count(stkzahl))
# umwandlung der 5 stelligen PLZs in ein Dictionary
listofzip5 = []
for stkzahl in anzahlplz:
d = {
str(stkzahl) : plz.count(stkzahl)
}
listofzip5.append(d)
# umwandlung der 2 stelligen PLZs in ein Dictionary
listofzip2 = []
for stkzahl in anzahlplz:
d = {
str(stkzahl) : plz2.count(stkzahl)
}
listofzip2.append(d)