Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #54656
| Date | 2013-09-23 12:47 -0500 |
|---|---|
| From | Tim Chase <python.list@tim.thechases.com> |
| Subject | Re: What's the best way to extract 2 values from a CSV file from each row systematically? |
| References | <fbfc360b-0553-4203-b89a-80b4c4036aec@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.276.1379958332.18130.python-list@python.org> (permalink) |
On 2013-09-23 10:10, quarantinemiles@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
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
What's the best way to extract 2 values from a CSV file from each row systematically? quarantinemiles@gmail.com - 2013-09-23 10:10 -0700
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Neil Cerutti <neilc@norwich.edu> - 2013-09-23 17:20 +0000
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Joel Goldstick <joel.goldstick@gmail.com> - 2013-09-23 13:25 -0400
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Tim Chase <python.list@tim.thechases.com> - 2013-09-23 12:47 -0500
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Alex Lee <quarantinemiles@gmail.com> - 2013-09-24 07:04 -0700
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Roland Mueller <roland.em0001@googlemail.com> - 2013-09-27 12:22 +0300
Re: What's the best way to extract 2 values from a CSV file from each row systematically? Luca Cerone <luca.cerone@gmail.com> - 2013-09-28 03:21 -0700
csiph-web