我是Python新手,使用pd.read_excel()函数加载xlsx工作簿时遇到问题。熊猫read_excel文档说,指定'sheet_name = None'应该返回“所有表作为DataFrames的字典”,但是我得到了一个空字典:
template_workbook = pd.read_excel(template_path, sheet_name=None, index_col=None)
template_workbook
返回:
OrderedDict()
当我尝试在字典中打印工作表名称时:
template_workbook.sheet_name
返回:
AttributeErrorTraceback (most recent call last)
<ipython-input-67 e76a0b915981> in <module>()
----> 1 template_workbook.sheet_name
AttributeError: 'OrderedDict' object has no attribute 'sheet_name'
我不清楚为什么工作表未在输出字典中列出。任何提示都将不胜感激。
答案 0 :(得分:0)
当您将read_excel与多张纸一起使用时,熊猫将返回一个字典:
返回:DataFrame或Dict of DataFrames
如果有字典,则可以使用.keys()方法查看文件选项卡,如下所示:
print(template_workbook.keys())
答案 1 :(得分:0)
我遇到同样的问题时,通过Google找到了这篇文章。不幸的是,没有引发任何错误,这不是很有帮助,所以我将发布此答案以帮助可能会发现此问题的下一个人。
Pandas中的read_excel函数并不完全支持所有Excel功能。这意味着,如果您使用的是某些高级Excel功能(命名范围),则当Pandas尝试读取Excel数据时,您的数据可能无法正确解析。
我试图尽可能简化我的Excel文件,但仍然无法正常工作,因此我创建了一个新的Excel Workbook,并逐页复制了数据。最终为我工作。
因此,我的建议是使您的Excel文件尽可能简单,并且您可能可以将其与Pandas一起导入。如果您发送了确切的Excel文件,我们很乐意帮助调试(不过,我知道这是问题提出的几年之后)。