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的一部分,但无济于事.任何人都有任何想法是什么问题?或者可能缺少哪些其他库?
编辑后的帖子下面的截图
3条答案
按热度按时间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
无:所有表。
bd1hkmkf2#
1.首先,请输入准确的错误信息。
<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.请在使用任何模块之前阅读其文档
km0tfn4u3#
试试看
df =pd.read_excel(“我的电子表格. xlsx”,工作表名称=“工作表的名称”)
其中“name_of_sheet”是文件中单个工作表的名称。我从文件中删除了3/4工作表,并将其保存为单个工作表,我认为默认行为是仅将单个工作表加载到dataframe中。实际上,行为是使用一个条目创建ordered_dict-xlsx中的命名工作表。