[Tutor] Program gets stuck after a creating a list from dictinary items!
Ali Torkamani
torkamani at gmail.com
Fri Jul 6 18:27:17 CEST 2012
Thanks, I checked, FD is not empty,
Thanks for reminding about the flush and close, but I think some thing is
wrong with:
D=[prog[key1] for key1 in sCommonFeatures]
In the debug mode it works fine from the command line, but in the for loop
it gets stuck.
Ali
On Fri, Jul 6, 2012 at 12:22 PM, Prasad, Ramit <ramit.prasad at jpmorgan.com>wrote:
> From: Ali Torkamani
> > I'm trying to write a dictionary into a csv file, in the following code
> > FlatData is the global dictionary whose keys are datetime objects, and
> the
> > values are list of dictionaries. sCommonFeatures are key's that exist in
> all
> > of such 'sub'-dictionaries, and sOtherFeatures are the key's that are in
> some
> > of sub-dictionaries.
> >
> > The problem is that in line : D=[prog[key1] for key1 in sCommonFeatures]
> > (line 10 below), the program stucks!
>
> Gets stuck how? I see nothing in that line that looks invalid. It may just
> take awhile depending on the amount of keys it has to go through. Maybe
> you just need to wait longer?
>
> >
> > I appreciate any help.
> >
> > def WriteOneDayToCSV(sCommonFeatures,sOtherFeatures,date):
> > FD=FlatData[date]
> >
> >
> A=['UniqeDate','Year','Month','Day']+list(sCommonFeatures)+list(sOtherFeatures
> > )
> > pdb.set_trace()
> > with
> > open(str(date.year)+"_"+str(date.month)+"_"+str(date.day)+".csv",'wb') as
> > myfile:
> > fout = csv.writer(myfile, delimiter=',', quotechar="'")
> >
> > fout.writerow(A)
> > for prog in FD:
>
> Try inserting a print here to make sure FD is not an empty list.
>
> > D=[prog[key1] for key1 in sCommonFeatures]
> > print(prog)
> > pdb.set_trace()
> > diff=sOtherFeatures.difference(prog.keys())
> > prog.update({x:'NONE' for x in diff})
> >
> > C=[prog[key2] for key2 in sOtherFeatures]
> > A=["%4d%02d%02d"
> > %(date.year,date.month,date.day),date.year,date.month,date.day]
> > fout.writerow(A+D+C)
> > pdb.set_trace()
> > myfile.flush()
> > myfile.close()
>
> There is no need to flush/close a file that is opened using "with".
>
> Ramit
>
>
> Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology
> 712 Main Street | Houston, TX 77002
> work phone: 713 - 216 - 5423
>
> --
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120706/181ae697/attachment.html>
More information about the Tutor
mailing list