Python xlrd从几张纸读取数据

时间:2019-02-20 14:27:18

标签: python excel xls xlrd

我将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文件中打开多个工作表?如何?

0 个答案:

没有答案