У меня есть текстовый файл, который конвертируется из PDF-файла счета / заказа. Мне нужно извлечь детали продукта из него с помощью регулярного выражения. Проблема, с которой я сталкиваюсь, заключается в том, что я могу легко выделить одну деталь продукта. Однако, так как несколько счетов анализируются (не за один раз), я не могу предсказать количество продуктов, которые будут присутствовать в счете. Итак, как мне определить, сколько продукта будет в наличии, пройтись по нему и взять все детали продукта.
Ниже приведен пример текста счета-фактуры с одним продуктом:
Item SKU Product Desc. Qty UOM
1 _L180.0001352879 Clam Tuatua Medium 20- 1.00 cs
34pc/Kg 15kg/CS
Ниже приведен продукт с несколькими продуктами:
Item SKU Product Desc. Qty UOM
1 L465.0001354266 Yoghurt Passionfruit Organic 4.00 PC
Vegan 1kg
2 L465.0001354264 Yoghurt Plain Organic Vegan 4.00 PC
1kg
Теперь регулярное выражение и код, который я использую для этого, приведены ниже:
line_match = re.compile(r'UOM\s\d\s+([\w.]+)\s([\w\s\-]+[\s])([0-9.]+)\s([\w]+)\n([\w\/\s]+[\n])')
line = line_match.search(text)
print("Product description : " + line.group(2) + line.group(5))
print("Quantity : " + line.group(3))