[Tutor] Processing rows from CSV
mhw at doctors.net.uk
mhw at doctors.net.uk
Tue Nov 17 19:57:21 CET 2009
Dear Tutors,
A rather general question, I'm afraid. I have found myself writing some python code to handle some CSV data, using the csv. DictReader that generates a dict for each row with the key as the column heading and the value in the file as the item. Most operations involve code of the form: (Apologies for incorrect caps)
For row in reader:
If row['foo'] == 'something' :
do this etc.
Typically I'm checking some form of consistency, or adding an element to the row based on something in the row.
I know about the existence of awk/ sed etc. Which could do some of this, but I ran into some problems with date manipulation, etc that they don't seem to handle very well.
I wanted to ask if anyone knew of anything similar, as I'm worried about re-inventing the wheel. One option would be to use (e.g.) sqlite and then use select/ insert commands, but personally I'd much rather write conditions in python than sql.
My other question was about how I do this more efficiently: I don't want to read the whole thing into memory at once, but (AFAIK) csv.DictReader doesn't support something like readline() to deliver it one at a time.
Any comments gratefully received.
Matt
Sent from my BlackBerry® wireless device
More information about the Tutor
mailing list