我将Excel列的元素写入列表中。因此,我需要在一列中找到某些值,并记录与它们相对应的另一列的值。目前,它是这样实现的:
import xlrd
excel_data_file = xlrd.open_workbook('./testbook.xlsx')
sheet = excel_data_file.sheet_by_index(0)
ku_ind_lst = sheet.col_values(0)
sys_name_lst = sheet.col_values(2)
for i in range(0, len(sys_name_lst)):
if sys_name_lst[i] == 'xxx' or sys_name_lst[i] == 'yyy' or sys_name_lst[i] == 'zzz':
b = sys_name_lst[i]
c = ku_ind_lst[i]
print(b)
print(c)
我通过添加从两张纸上读取的数据来修改代码:
import xlrd
excel_data_file = xlrd.open_workbook('./test.xls')
sheet_count = excel_data_file.nsheets
print(sheet_count)
sheets = {}
for nsh in range (0,sheet_count):
sheet = excel_data_file.get_sheet(nsh)
sheets[sheet.name] = sheet
ku_ind_lst = sheets.col_values(0)
sys_name_lst = sheets.col_values(2)
for i in range(0, len(sys_name_lst)):
if sys_name_lst[i] == 'xxx' or sys_name_lst[i] == 'yyy' or sys_name_lst[i] == 'zzz':
b = sys_name_lst[i]
c = ku_ind_lst[i]
print(b)
print(c)
我决定检查它如何与包含两张各有5000行的工作表的xls一起使用。所以出现了一个错误:
文件“ C:\ Program Files (x86)\ Python37-32 \ lib \ site-packages \ xlrd \ book.py“,第699行,在 get_sheet提高XLRDError(“释放后无法加载工作表 资源。”)xlrd.biffh.XLRDError:释放后无法加载纸张 资源。
因此,get_sheet
不适合我的任务吗?是否可以使用sheet_by_index
从xls文件中打开多个工作表?如何?