Python's CSV reader
Peter Otten
__peter__ at web.de
Mon Aug 8 03:28:03 EDT 2005
Stephan wrote:
> DictReader field names on the fly. Here is a rudimentary example of my
> working code and the data it can parse.
>
> -------------------------------------
> John|Smith
> Beef|Potatos|Dinner Roll|Ice Cream
> Susan|Jones
> Chicken|Peas|Biscuits|Cake
> Roger|Miller
> Pork|Salad|Muffin|Cookies
> -------------------------------------
That sample data would have been valuable information in your original post.
Here's what becomes of your code if you apply the "zip trick" from my first
post (yes, I am sometimes stubborn):
import itertools
import csv
HeaderFields = ["First Name", "Last Name"]
DetailFields = ["Entree", "Side Dish", "Starch", "Desert"]
instream = open("testdata.txt")
heads = csv.DictReader(instream, HeaderFields, delimiter="|")
details = csv.DictReader(instream, DetailFields, delimiter="|")
for header, detail in itertools.izip(heads, details):
print "Header (%d fields): %s" % (len(header), header)
print "Detail (%d fields): %s" % (len(detail), detail)
Peter
More information about the Python-list
mailing list