AttributeError:“ collections.OrderedDict”对象没有属性“ iloc”

时间:2019-12-06 13:08:57

标签: python excel pandas

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是熊猫的一部分,但无济于事。有人知道问题是什么吗?或可能缺少哪些其他库?

  

下面的编辑的帖子,下面的截图

enter image description here

2 个答案:

答案 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)

  1. 首先请输入准确的错误消息。
  2. print(type(df))它应该返回<class 'pandas.core.frame.DataFrame'>而不是 'collections.OrderedDict'
  3. 在阅读时提及工作表名称pd.read_excel(file.xlsx, sheet_name=sheet1)pd.read_excel(file.xlsx, sheet_name=None)(如果未提供工作表名称)
  4. 在使用任何模块之前,请仔细阅读所有模块的文档