首页 > 解决方案 > AttributeError:“collections.OrderedDict”对象没有属性“iloc”

问题描述

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 搜索并用谷歌搜索了 2 天,但我似乎无法得到答案,所以我发布了这个问题。所以主要问题是这段代码在我的电脑上工作,但在我朋友的电脑上不工作。我试图重新安装熊猫,希望这能解决 iloc 问题,因为 iloc 是熊猫的一部分,但无济于事。有人知道问题是什么吗?或者可能缺少哪些其他库?

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

在此处输入图像描述

标签: pythonexcelpandas

解决方案


原因是您忘记了中提到sheet_name=None的参数read_excel,返回什么OrderedDict,其中键是工作表名称,值是 DataFame:

sheet_name : str, int, list, or None, 默认为 0

字符串用于工作表名称。整数用于零索引的工作表位置。字符串/整数列表用于请求多张工作表。指定无以获取所有工作表。

可用案例:

默认为 0:第一个工作表为 DataFrame
1:第二个工作表为 DataFrame
“Sheet1”:加载名为“Sheet1”的工作表<br /> [0, 1, “Sheet5”]:加载第一个、第二个和名为“Sheet5”的工作表” 作为 DataFrame
None的字典:所有工作表。

xl = pd.read_excel(file, sheet_name=None)

推荐阅读