Fredrik Lundh wrote: > Scott wrote: > > > I have a file with lines in the following format. > > > > pie=apple,quantity=1,cooked=yes,ingredients='sugar and cinnamon' > > Pie=peach,quantity=2,ingredients='peaches,powdered sugar' > > Pie=cherry,quantity=3,cooked=no,price=5,ingredients='cherries and sugar' > > > > I would like to pull out some of the values and write them to a csv > > file. > > here's a relatively straightforward re solution that gives you a dictionary > with the values for each line. > > import re > > for line in open("infile.txt"): > d = {} > for k, v1, v2 in re.findall("(\w+)=(?:(\w+)|'([^']*)')", line): > d[k.lower()] = v1 or v2 > print d >
How about replacing d={} with d = {'pie': ',', 'quantity': ',', 'cooked': ',', 'price': ',','ingredients': '', 'eol': '\n'} to get the appropriate commas for missing fields? Gerard -- http://mail.python.org/mailman/listinfo/python-list