如何查找工作簿中包含类似字符串的所有单元格' TK005'?

时间:2017-05-02 18:18:18

标签: python excel string openpyxl

请注意,字符串的前两个字母可以是任意两个字母的集合,但字符串的最后一个字母总是数字。

for row in ws.iter_rows():
    for cell in row:
        if str(cell.value) == #something like 'XX008':
            print(cell.value)

1 个答案:

答案 0 :(得分:0)

import re
for row in ws.iter_rows():
    for cell in row:
        if re.search('\w\w\d\d\d', cell.value):
            print(cell.value)

这应该有效。如果需要,您还可以压缩'\w\w\d\d\d'字符串,但如果您知道您的字符串总是2个字符后跟3个数字,那么您就是好的。

修改 我可能会告诉你一个更好的正则表达式字符串,因为我有时间。

'[a-zA-Z]{2}\d{3}'

这个正则表达式字符串甚至比我原先给你的字符串更好。 \ w是正则表达式字符串中的特殊字符,可以匹配任何单词字符。这意味着[a-zA-Z0-9] \ d仅匹配[0-9]。为了更具体,我指定了一系列仅用字母字符代替\ w。

对于{2}和{3},它意味着"匹配我在&#34之前的2个字符/字符范围;因此,您将获得2个字符A-Z或a-z,后跟3个数字0-9。