Как найти все ячейки во всей книге Excel, которые находятся в регулярном выражении? - PullRequest
0 голосов
/ 07 апреля 2019

У меня проблемы с поиском правильного способа написания моего кода, чтобы найти все ячейки, которые соответствуют моему регулярному выражению. Это то, что я до сих пор. Я знаю, что не могу просто приравнять значение ячейки к своему регулярному выражению, но я не знаю, как это сделать.

import openpyxl
import re

date = re.compile(r'\d{1,2}[\/-]\d{1,2}[\/-]18-\d{1,2}[\/-]\d{1,2}[\/-](18|19)')
   for sheet in wb:
      for row in sheet.iter_rows():
         for cell in row:
           if cell.value == date:
             print (cell.value)

Примеры:

          IN: mo = date.search('Support Term 3/7/18-3/6/18')
          IN: mo.group()
          OUT: '3/7/18-3/6/18'

(я проверил свое регулярное выражение, и оно работает так, как я хочу, но мой цикл for требует некоторой работы)

1 Ответ

1 голос
/ 07 апреля 2019

Я думаю, что вы хотите использовать метод search скомпилированного объекта:

import openpyxl
import re

date = re.compile(r'\d{1,2}[\/-]\d{1,2}[\/-]18-\d{1,2}[\/-]\d{1,2}[\/-](18|19)')
for sheet in wb:
    for row in sheet.iter_rows():
       for cell in row:
         if date.search(str(cell.value)):
           print(cell.value)
...