Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python module 'csv' has no attribute 'DictReader' [closed]

Tags:

python-3.x

csv

So I am following a Python for Data Science Course on Coursera. I have linked this in case anyone is interested.

They have a Jupyter Notebook to follow along, but I prefer to code in Notepad++ ("NPP") and write it all from scratch as it helps me learn better.

The following code I have literally copy and pasted into NPP

import csv

with open('mpg.csv') as csvfile:
    mpg = list(csv.DictReader(csvfile))

print(mpg[:3])

But when I try to run the file, I am getting the following AttributeError

AttributeError: module 'csv' has no attribute 'DictReader'

I am not entirely sure why as I have seen this is indeed a module according to python documentation, and obviously it works on the Jupyter Notebook on Coursera

Something that I thought may be of note is the location in which I saved the 'mpg.csv' file. I have saved it in the same folder (directory?) that the python file is in. But obviously if the location was a problem It wouldn't be throwing out an AttributeError would it?

Thanks in advance for assistance.

like image 270
Liam Gower Avatar asked Aug 23 '17 20:08

Liam Gower


People also ask

What does CSV DictReader return?

The csv. DictReader() returned an OrderedDict type for each row. That's why we used dict() to convert each row to a dictionary. Notice that we have explicitly used the dict() method to create dictionaries inside the for loop.

How do I close a CSV file in Python?

Close a CSV FileUse the close() function to close an open file.


1 Answers

Did you happen to name your Python file csv.py? Don't do that! :)

You should avoid naming Python files as keywords or classes.

like image 73
Shane Mesa Avatar answered Sep 21 '22 16:09

Shane Mesa