如何在整个excel工作簿中找到正则表达式中的所有单元格?

时间:2019-04-07 04:16:08

标签: regex python-3.x openpyxl

我在找出正确的方式编写代码以查找适合我的正则表达式的所有单元格时遇到麻烦。到目前为止,这就是我所拥有的。我知道我不能只将单元格值等同于我的正则表达式,但我不知道该怎么做。

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 个答案:

答案 0 :(得分:1)

我认为您要使用的是已编译对象的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)