Thanks for your help Francesco. This works. Sree.
--- On Fri, 3/11/11, Francesco Loffredo <f...@libero.it> wrote: > From: Francesco Loffredo <f...@libero.it> > Subject: Re: [Tutor] Need help with dates in Python > To: tutor@python.org > Date: Friday, March 11, 2011, 1:05 AM > On 09/03/2011 9.21, nookasree > ponamala wrote: > > Hi, > > > > I need help in finding the minimum date and maximum > date in a file. > > Here is my test file: > > s.no: dt1 > amt id1 id2 > > 452 2010-02-20 > $23.26 059542 > 06107 > > 452 2010-02-05 > $20.78 059542 > 06107 > > 451 2010-02-24 > $5.99 059542 > 20151 > > 452 2010-02-12 > $114.25 839745 > 98101 > > 452 2010-02-06 > $28.00 839745 > 06032 > > 451 2010-02-12 > $57.00 839745 > 06269 > > > > I want to get the minimum and maximum dt1 for each > id1 > > > > Required result: > > > > id1 mindate maxdate > > 059542 2010-02-24 > 2010-02-20 > > 839745 2010-02-06 > 2010-02-12 > > > > Code: The code I tried. It doesn't work though. > > I noticed that your dates are formatted in a way that makes > it easy to compare them as strings. > This allows you not only to do without splitting dates into > year, month and day, but also to do without the datetime > module: > I'm also, AFAIK, the first one to address your need for the > min and max date FOR EACH ID1, not in the whole file. > > . ids = {} # create an empty dictionary > to store results > . for L in open("test.txt", "r"): > . S = L.split() # allow direct > access to fields > . if S[3] in ids: > . mindate, maxdate = > ids[S[3]] # current stored minimum and maximum date > . if S[1] < mindate: > . mindate = S[1] > . if S[1] > maxdate: > . maxdate = S[1] > . ids[S[3]] = (mindate, > maxdate) # new stored min and max > . else: > . ids[S[3]] = (S[1], S[1]) > # initialize storage for the current id1, with min and max > in a tuple > . #leave print formatting as an exercise to > the reader (but you can do without it!) > . print ids > > Hope this helps... > Francesco > > > ----- > Nessun virus nel messaggio. > Controllato da AVG - www.avg.com > Versione: 10.0.1204 / Database dei virus: 1497/3495 - > Data di rilascio: 09/03/2011 > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor