我正在寻找一个excel电子表格。我决定使用大熊猫,但直接被一个错误抓住了。
我从下面的代码开始,但使用完整路径并尝试设置工作表名称。
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
答案 0 :(得分:4)
确保您具有正确的Excel电子表格。我遇到了同样的错误,并意识到我已将其保存为仍然具有.xlsx扩展名的Strict XML Open Spreadsheet。
答案 1 :(得分:1)
快速解决方案:创建一个全新文件(.xls),其中包含会给您错误的文件的内容。它对我有用。
答案 2 :(得分:0)
如果您只想阅读该文件,最好使用os.path
,如下所示:
import os
import pandas as pd
dir = 'path_to_excel_file_directory'
excelFile = os.path.join(dir, 'fileName.xlsx')
pd.read_excel(excelFile)
如果excel文件与脚本位于同一目录中,您可以使用inspect
自动检测它所在的目录:
scriptName = inspect.getframeinfo(inspect.currentframe()).filename
dir = os.path.dirname(os.path.abspath(filename))
excelFile = os.path.join(dir, 'fileName.xlsx')
pd.read_excel(excelFile)
最后一点:部分
if __name__ == '__main__':
pass
与问题无关。