ich bin was Python betrifft ein ziemlicher Anfänger.
Ich möchte ein Programm schreiben, dass mir aus einer Datei alle Fehlermeldungen, die wie folgt aufgebaut sind ausliest und dann je Meldung gruppiert.
Der Meldungstext kann in der länge variieren, aber ist immer mit einem | beendet.|Typ| Nr|Meldungstext |
|-----------------------------------------------------------------------------------------------------------------------------------|
|I |90030001|Mitteilung 18 für 31.12.2007: Wert in Feld KZ931 liegt unterhalb des zulässigen Bereichs ab 0.00 |
Code: Alles auswählen
for line in in_f:
mylist.append(line)
#print len(mylist)
while i < len(mylist):
p = re.findall ('^\|(?P<Typ>\w) |(?P<Pernr>\d{8})| (?P<Meldung>\w?) |$',mylist[i])
if p != []:
helplist.append(p)
i=i+1
print helplist
[('W', '', ''), ('', '90034244', ''), ('', '', ''), ('', '', ''), ('',
'', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), (
'', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''
), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', ''
, ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), (''
, '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', ''), ('', '', '')]
Warum sieht der Output nicht so aus:
[('w'),('90034244'),('Mitteilung 18 für 31.12.2007: Wert in Feld KZ931 liegt unterhalb des zulässigen Bereichs ab 0.00 ')]
LG
FROSCH