找不到与xlrd对象等效的openpyxl

时间:2019-04-12 11:29:43

标签: python-3.x parsing openpyxl xlrd

我使用xlrd包编写了代码,以便从具有多个工作表的excel文件中提取特定信息。我部分匹配一个字符串并在下一列中获取值,有时,我会根据需要在同一列的下一行中获取值。

下面的代码是我使用xlrd的代码的一部分,可以很好地在下一列中选择值:

import xlrd

workbook = xlrd.open_workbook('sample_data.xlsx')
for sheet in workbook.sheets():
    for rowidx in range(sheet.nrows):
        row = sheet.row(rowidx)
        row_val = sheet.row_values(rowidx)

        for colidx, cell in enumerate(row):
            if cell.value == "Student number":
                sheet_name.append(sheet.name)
                print("Sheet Name =", sheet.name)
                customer_num.append(sheet.cell(rowidx,colidx+1).value)
                print(cell.value + "=" , sheet.cell(rowidx,colidx+1).value)

但是我现在需要使用openpyxl而不是xlrd来实现。这是技术要求。而且我无法从openpyxl包中找到合适的副本。我对Python也很陌生。

如果一个同时精通xlrdopenpyxl的人可以帮助我如何使用openpyxl复制上述代码,那将非常有帮助,而且可以节省时间。非常感谢。

1 个答案:

答案 0 :(得分:0)

for ws in wb:
   for row in ws:
      for cell in row:
         if cell.value == "Student number":
             print(sheet.title)
             print("{0} = {1}".format(cell.value, cell.offset(column=1).value))