python
zeilen = [
' max mustermann ; 42 ; wien ',
'erika musterfrau;37;graz',
'otto normal ; 58; LINZ',
]
for zeile in zeilen:
name, alter, stadt = zeile.split(';')
name = name.strip().title()
alter = int(alter.strip())
stadt = stadt.strip().title()
print(f'{name:<20}{alter:>3} {stadt}')
Was passiert:
zeile.split(';')liefert eine Liste mit drei Strings. Die Zeilename, alter, stadt = ...packt sie in drei Variablen aus (Unpacking, Kapitel 4). Hätte die Zeile nicht genau drei Teile, gäbe es einenValueError.strip()entfernt die überflüssigen Leerzeichen,title()macht aus'LINZ'den Text'Linz'.int(alter.strip())wandelt den Text in eine Zahl um.intverträgt auch Leerzeichen, dasstrip()ist hier nur zur Klarheit.{name:<20}setzt den Namen linksbündig in ein 20 Zeichen breites Feld,{alter:>3}rechtsbündig in ein 3 Zeichen breites.
Warum so: Zuerst zerlegen, dann jede Einzelheit säubern, dann ausgeben. Diese Reihenfolge (Parsen, Bereinigen, Ausgeben) kehrt in fast jedem Datenprogramm wieder, auch beim Einlesen von CSV-Dateien.