【发布时间】:2017-09-09 18:53:12
【问题描述】:
我正在寻找解析 Excel 电子表格。我决定使用 pandas,但马上就被一个错误抓住了。
我从下面的代码开始,但尝试使用完整路径并尝试设置工作表名称。
import pandas as pd
table = pd.read_excel('ss_12.xlsx')
if __name__ == '__main__':
pass
excel 电子表格与我的脚本文件位于同一目录中。我教过它在这个意义上与 open() 的工作方式相同,只是在同一目录中时需要一个名称。我已经在网上查看了一些示例,并且通过它们应该可以工作。
我正在尝试剥离上图中看到的第一列。完整的错误(不确定如何格式化,抱歉)
C:\xx\Playpen\ConfigList_V1_0.xlsx
Traceback (most recent call last):
File "C:\xx\Playpen\getConVars.py", line 12, in <module>
pd.read_excel(excelFile)
File "C:\xx\Programs\Python\Python35\lib\site-packages\pandas\io\excel.py", line 200, in read_excel
**kwds)
File "C:\xx\Programs\Python\Python35\lib\site-packages\pandas\io\excel.py", line 432, in _parse_excel
sheet = self.book.sheet_by_index(asheetname)
File "C:\xx\Programs\Python\Python35\lib\site-packages\xlrd\book.py", line 432, in sheet_by_index
return self._sheet_list[sheetx] or self.get_sheet(sheetx)
IndexError: list index out of range
【问题讨论】:
-
你能发布你正在使用的完整代码和完整的错误回溯吗?上面的图片不完整,我不知道问题出在哪里。
-
@noah 这个,恐怕是完整的代码。我刚开始玩它,这个错误发生在基本的测试尝试中。基本上我尝试加载我的 excel 电子表格。我将它与脚本放在同一个文件夹中,并尝试了您在上面看到的内容。我也尝试使用完整路径,例如pd.read_excel("C:\\....\\my_spread_sheet") 然后我尝试了一个命名表,例如pd.read_excel("C:\\....\\my_spread_sheet", sheetname='sheet1.xlsx')
-
可以分享一下excel文档吗?这似乎可能是它正在使用的 pandas 或 excel 库 xlrd 中的错误。您可以尝试在 pandas github 上提交错误报告,包括导致错误的 excel 文档。
-
@noah,我宁愿不分享与工作相关的完整文档。我会考虑发送错误报告并可能通过该媒体分享。现在,我想我将使用除 pandas 之外的其他模块。感谢您的帮助
-
openpyxl 对同一个文档也有问题。将内容复制到新文档,我现在打开它。我今天将添加更多信息。从 openpyxl 返回的错误信息似乎更多。