diff --git a/bnp_pdf_statement_parser.py b/bnp_pdf_statement_parser.py index c37839a..8ee6879 100755 --- a/bnp_pdf_statement_parser.py +++ b/bnp_pdf_statement_parser.py @@ -28,11 +28,12 @@ def getTextFromPdf(pdfPath): firstLineOfPaymentRegex = re.compile('\d{2}\.\d{2} \d{2}\.\d{2} \d+,\d{2}') endPageAfterTheFirstOneRegex = re.compile('P\. \d+/\d+') +soldeCrediteurAuRegex = re.compile('SOLDE CREDITEUR AU \d{2}\.\d{2}\.\d{4}') for folder in os.listdir(): for file in os.listdir(folder): - folder = '2022' - file = '20220321.pdf' + #folder = '2022' + #file = '20220321.pdf' print(folder, file) filePath = f'{folder}/{file}' content = getTextFromPdf(filePath) @@ -40,10 +41,14 @@ for folder in os.listdir(): started = False firstPage = True payment = [] + initialAmount = None for line in lines: if not started: # We are interested in the content after this line: - if line.startswith('SOLDE CREDITEUR AU') or (line.startswith('Date Nature des opérations Valeur Débit Crédit') and not firstPage): + if soldeCrediteurAuRegex.match(line) != None or (line.startswith('Date Nature des opérations Valeur Débit Crédit') and not firstPage): + if soldeCrediteurAuRegex.match(line): + initialAmount = float(soldeCrediteurAuRegex.sub('', line).replace(',', '.').replace(' ', '')) + print(initialAmount) started = True continue else: