csv reading fields

Paul Watson pwatson at redlinepy.com
Thu Jul 8 21:29:25 CEST 2004


"Mark F" <mfaine-usenet at knology.net> wrote in message
news:40ed95dd$1_6 at corp.newsgroups.com...
> To say I'm a python newbie would be an understatement but I think it is a
> language worth learning and would make a great replacement for perl in our
> shop.
>
> I'm trying to read a CSV file using the python csv module but I can't seem
> to determine how to use the API, it seems to me that I can do nothing more
> than opening the file and printing the lines of the file.  I can do that
> without the CSV module.  I need to know how to address individual fields.
>
> Something like this: (not actual python code)
>
>
> import csv
> reader = csv.reader(file("some.csv"))
> for row in reader:
>     print row.field(3)    or import csv
> reader = csv.reader(file("some.csv"))
>     if reader.field(2,1) == "test.zip":        print "test.zip exists"
> Thanks,-Mark

The interactive mode of Python is a great way to experiment and learn.  I
would agree that the documentation in 12.20 should show an explicit example
of accessing a single field.

C:\src\python\test\csv>type t.csv
now,is,the,time
for,all,good,men
to,come,to,the
aid,of,their,country

C:\src\python\test\csv>python
Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import csv
>>> reader = csv.reader(file("t.csv"))
>>> for row in reader:
...   print "the row is %s" % (row)
...   print "  the second item is %s" % (row[1])
...
the row is ['now', 'is', 'the', 'time']
  the second item is is
the row is ['for', 'all', 'good', 'men']
  the second item is all
the row is ['to', 'come', 'to', 'the']
  the second item is come
the row is ['aid', 'of', 'their', 'country']
  the second item is of
>>> r2 = csv.reader(file('t.csv'))
>>> s = r2.next()
>>> s
['now', 'is', 'the', 'time']
>>> s[1]
'is'





More information about the Python-list mailing list