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 -- http://mail.python.org/mailman/listinfo/python-list