我知道这个问题已被提出并且已经接受了答案。但解决方案对我不起作用。所以我分别问这个问题。
我的My Documents目录中有2个excel文件:
两者都有相同的数字数据。这两个文件都是由我创建的,用于检查我是否可以运行简单的基于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文件不会发生同样的情况。我做错了什么?
答案 0 :(得分:0)
您可以使用官方文档中指定的 load_workbook 方法:https://openpyxl.readthedocs.org/en/default/tutorial.html#loading-from-a-file