On 2011-11-21, ray <r...@aarden.us> wrote: > Is there a way to capture the keys outside of the for loop so > when the for loop is entered, only data is extracted?
I have sometimes done the following type of thing, since DictReader doesn't offer an attribute providing the field names. This is Python 3.3.2 code, so revise boilerplate if necessary. # Open once as a csv.reader instance to get the field names, in # order. with open(in_file_name, newline='') as in_file: reader = csv.reader(in_file) fields = next(reader) # Open it again as a csv.DictReader instance to do actual work, # writing revised lines to the output file as I go. with open(in_file_name, newline=') as in_file: with open(out_file_name, "w", newline='') as out_file: reader = csv.DictReader(in_file) writer = csv.DictWriter(out_file, fieldnames=fields) # Write header line writer.writerow({f: f for n in fields}) for record in reader: # Change a few fields # [...] writer.writerow(record) -- Neil Cerutti "This room is an illusion and is a trap devisut by Satan. Go ahead and dauntlessly! Make rapid progres!" --Ghosts 'n Goblins -- http://mail.python.org/mailman/listinfo/python-list