atul
atul

Reputation: 183

Reading a CSV file using Python

please tell me what's the problem in this code it's giving an error

import csv
with open('some.csv', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row

Upvotes: 12

Views: 29945

Answers (2)

Eli Bendersky
Eli Bendersky

Reputation: 273366

Which version of Python are you using?

The with statement is new in 2.6 - if you're using 2.5 you need from __future__ import with_statement. If you use a Python older than 2.5 then there's no with statement, so just write:

import csv
f = open('some.csv', 'rb')
reader = csv.reader(f)
for row in reader:
    print row
f.close()

It's really better to update to a modern version of Python, though. Python 2.5 was released almost 5 years ago, and the current version in the 2.x line is 2.7

Upvotes: 18

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 798446

from __future__ import with_statement

And if that doesn't work, rewrite it to not use with in the first place.

Upvotes: 6

Related Questions