hi leute. i lerne python seit ne woche u schreibe jetzt kleines programm die information in datei einliest, wo telefonnummern, rechnungen, namen, datum steht. programm soll nur tel-nummern u rechnungen berücksichtigen u die rechnungen von gleichen nummern addieren. hab bis jetzt folgendes geschrieben:
zunächst hab datei in lines gespeichert, dann kommt
for line in lines:
line=string.split(line)
num=line[1]
rech=line[2]
wie soll i auf einzelne nummern zugreifen, um die zu vergleichen???
kann mir jemand helfen???
Vielleicht kannst du genauer beschreiben was du machen willst.
Wenn es nur um´s Vergleichen geht
ciao,
akIra
Wenn es nur um´s Vergleichen geht
Code: Alles auswählen
if rech=="123456":
blabla´
akIra
man sollte die nummern vergliechen werden und die rechnungen von gleichen nummern summiert werden u dabei sollte die gleiche nummern durch einen ersetzt werden.
kann es sein dass du gar keinen plan von python hast ?!
dann musste dir ne Liste mit den schon existenten Rechnungs-ID´s machen und deren Werte addieren. Sowas ist aber schwer zu sagen, da uns ja das gesamte Projekt unbekannt ist.
Vielleicht hilft die dieses Tutorial: http://starship.python.net/crew/gherman ... 0000000000
Ciao,
aki
dann musste dir ne Liste mit den schon existenten Rechnungs-ID´s machen und deren Werte addieren. Sowas ist aber schwer zu sagen, da uns ja das gesamte Projekt unbekannt ist.
Vielleicht hilft die dieses Tutorial: http://starship.python.net/crew/gherman ... 0000000000
Ciao,
aki
@akIra: nett wenn du helfen willst, aber den Ton kann man leicht missdeuten.
Mit Dictionaries lässt sich das wirklich gut machen. Vom Prinzip her so:
wie man weiter mit Dictionaries umgeht steht in dem Totorial.
Mit Dictionaries lässt sich das wirklich gut machen. Vom Prinzip her so:
Code: Alles auswählen
nummern={}
for line in lines:
line=string.split(line)
num=line[1]
rech=line[2]
if nummern.has_key(num):
nummern[num]+=rech
else:
nummern[num]=rech
hab noch ne frage:
was wäre güstiger bei grösseren dateien zu verwenden:
f.readline() oder f.readlines()
um zeit zu sparen
was wäre güstiger bei grösseren dateien zu verwenden:
f.readline() oder f.readlines()
um zeit zu sparen
und wenn es um speicherplatz geht, besonders bei sehr grossen dateien, so mit mehr als 100000 einträgen, wäre es nicht besser f.readline() zu verwenden und die datei am ende des programms zu schliessen?
hmm. das kommt drauf an, worauf du mehr wert legst: auf schnelligkeit oder möglichst wenig arbeitspeicher. fürs erste ist readlines besser für zweites readline. ist ansichtsache, nur irgendwann wirds bei bestimmten größen notwendig das zweite zu nehmen, weil dann der Arbeitsspeicher fehlen würde und das die gewonnene geschwindigkeit wieder nach unten drücken würde. bei solchen größen würde ich zu readline raten.
danke dir milan!
hab noch ne frage:
welcher unterschied liegt zwischen readline und xreadlines? hab irgendwo gelesen, dass xreadlines genauso wie readline funktioniert.
hab noch ne frage:
welcher unterschied liegt zwischen readline und xreadlines? hab irgendwo gelesen, dass xreadlines genauso wie readline funktioniert.