Openpyxl error: Keyerror(worksheet <0> does not exist )
Openpyxl error: Keyerror(worksheet <0> does not exist )
我知道有人问过这种问题,并且已经给出了可接受的答案。但解决方案对我不起作用。所以我单独问这个问题。
我的文档目录中有 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 文件不会发生同样的情况。我做错了什么?
可以使用load_workbook方法,官方文档中指定的方法:https://openpyxl.readthedocs.org/en/default/tutorial.html#loading-from-a-file
我知道有人问过这种问题,并且已经给出了可接受的答案。但解决方案对我不起作用。所以我单独问这个问题。
我的文档目录中有 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 文件不会发生同样的情况。我做错了什么?
可以使用load_workbook方法,官方文档中指定的方法:https://openpyxl.readthedocs.org/en/default/tutorial.html#loading-from-a-file