ich beschäftige mich seit kurzer Zeit mit Python bin totaler Newbie und habe folgendes vor.
Ich habe eine TXT. Datei, die bestimmte durch # getrennte Werte hat.
BSP:
12345#20050201#1#3.7700#6#49#10...#...# usw.
12345#20050201#1#0.5300#10#53#11
12345#20050201#1#4.9000#12#16#17
12345#20050202#1#5.0800#6#55#12#
immer dann wenn die Werte 12345 (Kdn Nr.) und 20050201 (Datumsangaben) gleich sind, soll er die dicken Zeiten addieren und die Summe mit den Werten (Kd.Nr und Datum) ausgeben.
also z.B. 12345 20050201 9,2
sollte für einen Tag und nur eine Kd.Nr ein Satz vorhanden sein
auch nur diesen Satz ausgeben:
12345 20050201 5.08
das Ganze alles untereinander und bis das txt file vorbei ist.
Dazu habe ich folgendes Skript verfasst (bitte nicht lachen :

Code: Alles auswählen
#! /usr/bin/env python
f=open("TEST.TXT","r")
a=f.readline().split('#')
datum, persnr, IST =a[1], a[0], a[16]
letztes_datum = datum
letzte_persnr = persnr
summe_ist = float(IST)
while a:
a=f.readline().split('#')
if len(a) != 1:
datum, persnr, IST =a[1], a[0], a[16]
if letztes_datum != datum or letzte_persnr != persnr:
summe_ist = float(IST)
letztes_datum = datum
letzte_persnr = persnr
print datum, persnr, summe_ist
else:
summe_ist = summe_ist + float(IST)
print datum, persnr, summe_ist
else:
break
f.close()
Gut Fehler ist eindeutig lese ja den String ein, ohne ihn auszugeben.
Mir fällt aber keine andere Möglichkeit ein.
Und beim aufaddieren werden alle Werte angezeigt inkl der richtigen Summe.
Ich will natürlich nicht die Zwischensummen, sondern immer nur die Gesamtsumme pro Kd-Nr. Pro Tag.
Ich brüte jetzt schon ein paar Tage darüber und komme nicht weiter.
Für mich ein Riesenproblem, für euch sicherlich ein Klaks.
Please Pimp my Python !!!!