import pandas as pd
file = 'D:/myproject/chatbot_database.xlsx'
xl = pd.read_excel(file)
print(xl) #this prints fine
print(xl.iloc[0, 1]) #this throws an error
错误消息是:
AttributeError:“ collections.OrderedDict”对象没有属性 'iloc'
我尝试搜索stackoverflow并在Google上搜索了2天,但是我似乎无法获得答案,所以我正在发布此问题。因此,主要的问题是此代码在我的计算机上可用,但在我的朋友计算机上不起作用。我尝试重新安装熊猫,希望这样可以解决iloc问题,因为iloc是熊猫的一部分,但无济于事。有人知道问题是什么吗?或可能缺少哪些其他库?
下面的编辑的帖子,下面的截图
答案 0 :(得分:1)
原因是您忘记了read_excel
中提到的sheet_name=None
参数,返回什么OrderedDict
,其中键是工作表名称,值是DataFames:
工作表名称:str,int,list或None,默认为0
字符串用于工作表名称。整数用于零索引工作表位置。字符串/整数列表用于请求多张纸。指定“无”以获取所有图纸。
可用案例:
默认为0:第一张纸作为DataFrame
1:第二张工作表作为DataFrame
“ Sheet1”:加载名为“ Sheet1”的工作表
[0,1,“ Sheet5”]:将第一个,第二个和名为“ Sheet5”的工作表加载为DataFrame的字典
无:所有工作表。
xl = pd.read_excel(file, sheet_name=None)
答案 1 :(得分:1)
<class 'pandas.core.frame.DataFrame'>
而不是
'collections.OrderedDict'
pd.read_excel(file.xlsx, sheet_name=sheet1)
或pd.read_excel(file.xlsx, sheet_name=None)
(如果未提供工作表名称)