Помогите, пожалуйста! Пишу здесь, так как всю голову сломал и не могу понять "почему?" происходит: Есть выполнение заданий на основе подключения библиотек fitz и re: 1. Python получает pdf-файл, читает его и выводит в значения; 2. Очищает от лишних символов и заносит в словарь - это для избежания обрывка текста; 3. В словаре находит значение и присваивает своё новое имя для дальнейшей работы. И тут есть проблема одна.
Все строки выполняет на отлично, но одну строку всегда отправляет в предыдущую
for i in range(text_blocks.count('\n')):
a = text_blocks.index('\n')
print('text blocks index:', str(a))
card_var = text_blocks[b:a]
card_var_new = ''.join(card_var)
b = a
print('card_var_new:', '\n'+card_var_new, str(i))
text_blocks.pop(a)
if re.search(name1,card_var_new):
temp[i] = card_var_new
print(temp[i])
continue
elif re.search(name2,card_var_new):
temp[i] = card_var_new
print(temp[i])
<..>
else:
if temp.get(i-1) != None:
temp[i-1] += ' '+card_var_new
elif temp.get(i-2) != None:
temp[i-2] += ' '+card_var_new
<..>
elif temp.get(i-7) != None:
temp[i-7] += ' '+card_var_new
for key in temp.keys():
print('i -', key, temp[key])
В итоге, получается, что считывает всё правильно, но почему-то на основе else отправляет в предыдущее имя:

И именно с этой строкой проблемы и не могу понять почему - текст переписывал, имена менял:

elif re.search(re.escape(trade),card_var_new):, или - зачем тут регулярные выражения? -elif trade in card_var_new:– Wiktor Stribiżew May 21 '20 at 13:03tradeесть скобки, а вы просто так используете эту переменную в качестве регулярного выражения. Зачем, если вы просто проверяете наличие подстроки в строке? – Wiktor Stribiżew May 21 '20 at 13:20