On 2013-09-23 10:10, quarantinemi...@gmail.com wrote: > based on two values I want to extract from a CSV file. The > CSV has at least 1000 rows, an example: > > 0,0,KGD,0,DME,0,,0,0 [snip] > I'd like to automatically go through each row in the CSV file from > beginning to end to extract the two values in columns 3 and 5 and > insert them into fields in a form.
The csv module has several tools that make this easy to do. If there are column-headers, you can do import csv with file("myfile.csv", "rb") as f: for row in csv.DictReader(f) insert_fields_into_form( row["KGD"], row["DME"], ) which I like for clarity, ease of updating, and robustness (if for some reason, the columns get moved around, or columns get added/removed, as long as the headers remain the same, you can get the data). If it doesn't have headers, then you'd have to manually pick out the columns, either by tuple-unpacking: with file("myfile.csv", "rb") as f: for _, _, kgd, _, dme in csv.reader(f) insert_fields_into_form(kgd, dme) or by directly indexing: KGD_COL = 3 DME_COL = 5 with file("myfile.csv", "rb") as f: for row in csv.reader(f) insert_fields_into_form( row[KGD_COL], row[DME_COL], ) both of which are more fragile than DictReader when it comes to columns being added/removed. I leave the implementation of insert_fields_into_form() up to you :-) -tkc -- https://mail.python.org/mailman/listinfo/python-list