pandas 属性错误:“collections.OrderedDict”对象没有属性“iloc”

yvgpqqbh  于 2023-03-28  发布在  其他
关注(0)|答案(3)|浏览(211)
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

错误信息为:

属性错误:“collections.OrderedDict”对象没有属性“iloc”
我已经尝试搜索通过stackoverflow和谷歌这2天,但我只是似乎不能得到一个答案,所以我张贴这个问题.所以,主要的问题是,这段代码在我的电脑上工作,但它不工作在我的朋友的电脑.我试图重新安装pandas,希望这将修复iloc的问题,因为iloc是pandas的一部分,但无济于事.任何人都有任何想法是什么问题?或者可能缺少哪些其他库?

编辑后的帖子下面的截图

iyr7buue

iyr7buue1#

原因是你忘记在read_excel中提到sheet_name=None参数,返回OrderedDict,其中键是sheetname,值是DataFames:

sheet_name:string、int、list或None,默认值为0

字符串用于工作表名称。整数用于零索引工作表位置。字符串/整数列表用于请求多个工作表。指定“无”以获取所有工作表。
可用病例:
默认值为0:第一张工作表作为数据框
1:第二张工作表作为数据框
“Sheet 1”:加载名为“Sheet 1”的工作表
[0,1,“Sheet5”]:加载第一个、第二个和名为“Sheet 5”的表作为DataFrame的dict

:所有表。

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

bd1hkmkf2#

1.首先,请输入准确的错误信息。

  1. print(type(df))应该返回<class 'pandas.core.frame.DataFrame'>而不是'collections.OrderedDict'
    1.读取时,如果未提供图纸名称,请注明图纸名称pd.read_excel(file.xlsx, sheet_name=sheet1)pd.read_excel(file.xlsx, sheet_name=None)
    1.请在使用任何模块之前阅读其文档
km0tfn4u

km0tfn4u3#

试试看
df =pd.read_excel(“我的电子表格. xlsx”,工作表名称=“工作表的名称”)
其中“name_of_sheet”是文件中单个工作表的名称。我从文件中删除了3/4工作表,并将其保存为单个工作表,我认为默认行为是仅将单个工作表加载到dataframe中。实际上,行为是使用一个条目创建ordered_dict-xlsx中的命名工作表。

相关问题