Как объединить методы друг с другом?
Я пытаюсь объединить некоторые методы с каждым другим для вывода некоторых значений.
Итак, отдельные методы работают. Но когда я объединяю их, выход отсутствует.
Итак, у меня есть два метода:
def total_fruit_per_sort(self):
#self.extractingText.extract_text_from_image(filename)
number_found = re.findall(self.total_amount_fruit_regex(
), self.extractingText.text_factuur_verdi[0])
fruit_dict = {}
for n, f in number_found:
fruit_dict[f] = fruit_dict.get(f, 0) + int(n)
return str({value: key for value, key in fruit_dict.items()}).replace("{", "").replace("}", "")
и:
def verdi_total_fruit_cost_regex(self):
fruit_list = self.fruit_list(format_="(?:{})".format)
return self.regex_fruit_cost(f"(?:{fruit_list})")
и метод, который их объединяет:
def show_extracted_data_from_file(self, file_content):
self.extractingText.extract_text_from_image(file_content)
regexes = [
self.verdi_total_fruit_cost_regex(),
self.total_fruit_per_sort()
]
matches = [self.findallfruit(regex) for regex in regexes]
return "\n".join(" \t ".join(items) for items in zip(*matches))
вот список фруктов:
def fruit_list(self, format_=re.escape):
""" Return a string with all the fruit words,
escaped or formatted for use in a regex """
return "|".join(format_(word) for word in self.extractingText.list_fruit)
и список фруктов:
self.list_fruit = ['Appels', 'Ananas', 'Peen Waspeen',
'Tomaten Cherry', 'Sinaasappels',
'Watermeloenen', 'Rettich', 'Peren', 'Peen',
'Mandarijnen', 'Meloenen', 'Grapefruit', 'Rettich']
findallfruit:
def findallfruit(self, regex):
return re.findall(regex, self.extractingText.text_factuur_verdi[0])
и один пример строки для извлечения данных:
"[' \n\na)\n\n \n\nFactuur\nVerdi Import Schoolfruit\nFactuur nr. : 71201 Koopliedenweg 33\nDeb. nr. : 108636 2991 LN BARENDRECHT\nYour VAT nr. : NL851703884B01 Nederland\nFactuur datum : 10-12-21\nAantal Omschrijving Prijs Bedrag\nOrder number : 77553 Loading date : 09-12-21 Incoterm: : FOT\nYour ref. : SCHOOLFRUIT Delivery date :\nWK50\nD.C. Schoolfruit\n16 Watermeloenen Quetzali 16kg 4 IMPERIAL BR I € 7,70 € 123,20\n360 Watermeloenen Quetzali 16kg 4 IMPERIAL BR I € 7,70 € 2.772,00\n6 Watermeloenen Quetzali 16kg 4 IMPERIAL BR I € 7,/0 € 46,20\n75 Watermeloenen Quetzali 16kg 4 IMPERIAL BR I € 7,70 € 577,50\n9 Watermeloenen Quetzali 16kg 4 IMPERIAL BR I € 7,70 € 69,30\n688 Appels Royal Gala 13kg 60/65 Generica PL I € 5,07 € 3.488,16\n22 Sinaasappels Valencias 15kg 105 Elara ZAI € 6,25 € 137,50\n80 Sinaasappels Valencias 15kg 105 Elara ZAI € 6,25 € 500,00\n160 Sinaasappels Valencias 15kg 105 FVC ZAI € 6,25 € 1.000,00\n320 Sinaasappels Valencias 15kg 105 Generica ZAI € 6,25 € 2.000,00\n160 Sinaasappels Valencias 15kg 105 Noordhoek ZA I € 6,25 € 1.000,00\n61 Sinaasappels Valencias 15kg 105 Noordhoek ZA I € 6,25 € 381,25\nTotaal Colli Totaal Netto Btw Btw Bedrag Totaal Bedrag\n€ 12.095,11 1.088,56\nBetaling binnen 30 dagen\nAchterstand wordt gemeld bij de kredietverzekeringsmaatschappij\nVerDi Import BV ING Bank NV. Rotterdam IBAN number: NL17INGB0006959173 ~~\n\n \n\nKoopliedenweg 38, 2991 LN Barendrecht, The Netherlands SWIFT/BIC: INGBNL2A, VAT number: NL851703884B01 i\nTel, +31 (0}1 80 61 88 11, Fax +31 (0)1 8061 88 25 Chamber of Commerce Rotterdam no. 55424309 VerDi\n\nE-mail: sales@verdiimport.nl, www.verdiimport.nl Dutch law shall apply. The Rotterdam District Court shall have exclusive jurisdiction.\n\nrut ard wegetables\n\x0c']"
Но когда я запускаю метод: show_extracted_data_from_file, вывода нет. Но и ошибок нет.
Но когда я просто запускаю метод самостоятельно. Я вижу вывод:
'Watermeloenen': 466, 'Appels': 688, 'Sinaasappels': 803
Так как же я могу их совместить?