Возникли проблемы при поиске openpyxl-эквивалента xlrd-объектов - PullRequest
0 голосов
/ 12 апреля 2019

Я написал свой код, используя пакет 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.

Было бы очень полезно и сэкономило бы время, если бы кто-то, кто хорошо знает как xlrd, так и openpyxl, мог бы помочь мне в том, как скопировать мой код, используя openpyxl. Большое спасибо.

1 Ответ

0 голосов
/ 12 апреля 2019
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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...