Поиск нужных ячейки в Exel по названию
Есть алгоритм, который собирает в лист адреса всех ячеек, в которых упоминается определенный текст, но работает только с файлами xlsx на openpyxl. Есть-ли что-то такое для библиотеки xlrd? Сам файл я качаю по ссылке https://aparat.ua/cli/out.xls, с помощью библиотеки requests. Пытался сначала перевести его в формат xlsx с помощью библиотеки xls2xlsx, а потом уже работать с алгоритмом, но оно не работает... P.s ещё тут используется модуль 're'
sheet_cells = []
answer = str(message.text) # в переменную answer помещается то, что ответил пользователь в ТГ
search_text = str(answer) # переменная, хранит в себе значение, которое мы ищем
wb = openpyxl.load_workbook(path_to_file) # Грузим наш прайс-лист
sheets_list = wb.sheetnames # Получаем список всех листов в файле
sheet_active = wb[sheets_list[0]] # Начинаем работать с самым первым
row_max = sheet_active.max_row # Получаем количество столбцов
#print(type(row_max))
column_max = sheet_active.max_column # Получаем количество строк
row_min = 1 # Переменная, отвечающая за номер строки
column_min = 1 # Переменная, отвечающая за номер столбца
while column_min <= column_max:
row_min_min = row_min
row_max_max = row_max
while row_min_min <= row_max_max:
row_min_min = str(row_min_min)
word_column = get_column_letter(column_min)
word_column = str(word_column)
word_cell = word_column + row_min_min
data_from_cell = sheet_active[word_cell].value
data_from_cell = str(data_from_cell)
regular = search_text
result = re.findall(regular, data_from_cell)
if len(result) > 0:
sheet_cells.append(word_cell)
# каждая ячейка, содержащая в себе нужное нам значение, помещается в лист
else:
await state.reset_state()
row_min_min = int(row_min_min)
row_min_min = row_min_min + 1
column_min = column_min + 1