python ошибка при поиске значения в excel

import openpyxl as xl
import re

path = r'C:/Users/Desktop/Test_new/FindTest.xlsx'
wb = xl.load_workbook(filename=path, read_only=True)
ws = wb['страница']

for row in ws.rows:
    for cell in row:
        if re.match(r'test', cell.value):
        print(cell.value)

TypeError: expected string or bytes-like object


Ответы (1 шт):

Автор решения: nomnoms12

Добавьте проверку на то, что значение является строкой.

Пример:

from openpyxl import load_workbook
import re

# Замените путь на свой
PATH = 'C:/Users/Username/Desktop/openpyxl/test.xlsx'


def main():
    wb = load_workbook(filename=PATH)
    ws = wb.active

    for row in ws.rows:
        for cell in row:
            value = cell.value

            # Замените регулярное выражение на своё
            if type(value) == str and re.match(r'test', value):
                print(value)


if __name__ == '__main__':
    main()
→ Ссылка