Openpyxl错误:Keyerror(工作表< 0>不存在)

时间:2016-04-21 15:49:41

标签: python openpyxl

我知道这个问题已被提出并且已经接受了答案。但解决方案对我不起作用。所以我分别问这个问题。

我的My Documents目录中有2个excel文件:

  • pythonread.xlsx
  • pythonread.xls

两者都有相同的数字数据。这两个文件都是由我创建的,用于检查我是否可以运行简单的基于openpyxl的脚本。 这是脚本: -

from xlrd import open_workbook 
from openpyxl import Workbook 
wb = open_workbook('C:\\Users\\patilpb\\Documents\\pythonread.xls')
wb1 = Workbook('C:\\Users\\patilpb\\Documents\\pythonread.xlsx')
for s in wb.sheets():
     print 'Sheet:',s.name
     values = []
     for row in range(s.nrows):
      col_value = []
      for col in range(s.ncols):
            value  = (s.cell(row,col).value)
            try : value = str(int(value))
            except : pass
            col_value.append(value)
      values.append(col_value)
#print values
wb1_1 = wb1.get_sheet_by_name('Sheet1')
wb1_2 = wb1['Sheet2'] 
cell_range = wb1_1['B3':'B100']
print cell_range.value

在运行脚本时(当前Anaconda提示符也在Winpython提示符下运行),我收到以下错误:

Traceback (most recent call last):
wb1_1 = wb1.get_sheet_by_name('Sheet1')
File "C:\~path~\workbook.py", line 173, in get_sheet_by_name
   return self[name]
File "C:\~path~\workbook.py", line 192 in __getitem__ 
   raise KeyError("Worksheet (0) does not exist." .format(key))
KeyError: 'Worksheet Sheet1 does not exist.'

在此之前,xlrd导入xls文件的命令可以正常执行。它打印默认工作表的名称(Sheet1,2& 3)。甚至读取(如果需要)打印数据。但是.xlsx文件不会发生同样的情况。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用官方文档中指定的 load_workbook 方法:https://openpyxl.readthedocs.org/en/default/tutorial.html#loading-from-a-file