Я использую for l oop для поиска в тексте оператора value usinf if else внутри for l oop. Даже когда мое условие поиска выполнено, мой блок else также выполняется.
Это текст, который я использую для поиска значения:
SKU Product Des c. Упаковка / размер Кол-во Цена Расширение 1 WL140.111 Clam Tuatua Medium NZ / 20-34 шт. За килограмм / 30,00 кг 109,25 гонконгских долларов 3277,50 гонконгских долларов Местоположение: KIT - мясная лавка (8%) 30,00 Edit Line Edit Allo c
Это мой код:
whole_details = re.compile(r'Item([\$\w\s\.\/\-\,:()%]+)(?:Sub Total)')
wd = whole_details.search(text)
wd_text = wd.group(1)
products = ["Yoghurt Passionfruit Organic", "Yoghurt Plain Organic Vegan", "Clam Tuatua Medium 20-", "Clam Tuatua Medium NZ /", "Oyster Pacific NZ /"]
for product in products:
if wd_text.find(product) != -1:
re_qty = re.compile(rf'{product}\s([\d.]+)')
qty_search = re_qty.search(wd_text)
qty = qty_search.group(1)
print("Product Description : " + product)
print("Quantity : " + qty)
else:
print("No product")
Вот результат, который я получаю сейчас:
Product Description : Clam Tuatua Medium NZ /
Quantity : 20
No products