cubedNnoobed
cubedNnoobed

Reputation: 135

Why won't pandas.read_excel run?

I am trying to use pandas.read_excel but I keep getting " 'module' object has no attribute 'read_excel' " as an error in my terminal as shown

  File "read.py", line 9, in <module>
  cols = pd.read_excel('laucnty12', 'Poverty Data', index_col='State', \\    na_values=['NA'])
  AttributeError: 'module' object has no attribute 'read_excel'

I have tried pd.read_excel() and pd.io.parsers.read_excel() but get the same error. I have python 2.7 installed and other parts of pandas work fine such as xls.parse and read_csv. My code is below:

import pandas as pd
from pandas import *

xls = pd.ExcelFile('laucnty12.xls')
data = xls.parse('laucnty12', index_col=None, na_values=['NA'])
cols = pd.read_excel('laucnty12', 'Poverty Data', index_col='State', na_values=['NA'])

print cols

Upvotes: 4

Views: 35561

Answers (3)

Anukals
Anukals

Reputation: 41

df = pd.read_excel(filepath + 'Result.xlsx')

Check whether the extension of excel file is xls or xlsx then add the same in the query. I tried and its is working fine now.

Upvotes: 4

charlesreid1
charlesreid1

Reputation: 4821

The problem is that your script is called "read.py". The Python file that defines read_excel already imports another module called "read" - so when you try and run your "read.py" script, it squashes the old "read" module that pandas is using, and thus breaks read_excel. This problem can happen with other "common" short names for scripts, like "email.py".

Try renaming your script.

Upvotes: 4

asamarin
asamarin

Reputation: 1594

You probably mean pd.io.excel.read_excel()

Upvotes: 3

Related Questions