Enhancements

This commit is contained in:
2026-06-25 11:19:08 +02:00
parent 8804d21c32
commit 9343657d20
62 changed files with 10210 additions and 976 deletions
+26 -10
View File
@@ -4,8 +4,8 @@ from time import time
from datetime import datetime
from models import models
from models.database import engine, SessionLocal
# import sustApp.models.models as models
# from sustApp.models.database import engine, SessionLocal
#import sustApp.models.models as models
#from sustApp.models.database import engine, SessionLocal
import os, re
from pytz import timezone
@@ -13,11 +13,12 @@ import pandas as pd
import glob
#import csv
# def Load_Data(file_name):
# with open(source_csv, encoding='utf-8-sig') as f:
# for line in f:
# fields = line.strip().split(';')
# print(fields)
def extract_year_from_reference(reference):
"""Extract year from payment reference (e.g., '2025-4732-163-1' -> '2025')"""
if reference:
year = reference.split('-')[0]
return year
return None
def Load_Data(file_name):
df = pd.read_csv(file_name, delimiter=';', encoding='utf-8-sig', dtype=str, header=None)
@@ -91,11 +92,26 @@ if __name__ == "__main__":
new_list = extract_values(i[1])
if len(new_list) > 0:
outData.append([i[0], new_list[0].get('Auftraggeber'), new_list[0].get('Zahlungsreferenz'), new_list[0].get('Verwendungszweck'), new_list[0].get('IBAN'), i[2], i[3].replace(',','.'), i[4], i[5]])
zahlungsreferenz = new_list[0].get('Zahlungsreferenz')
year = extract_year_from_reference(zahlungsreferenz)
#outData.append([i[0], new_list[0].get('Auftraggeber'), new_list[0].get('Zahlungsreferenz'), new_list[0].get('Verwendungszweck'), new_list[0].get('IBAN'), i[2], i[3].replace(',','.'), i[4], i[5], new_list[0].get('Zahlungsreferenz')])
outData.append([
i[0], # valuta_date
new_list[0].get('Auftraggeber'), # client
zahlungsreferenz, # reference
new_list[0].get('Verwendungszweck'), # intended
new_list[0].get('IBAN'), # IBAN
i[2], # entry_date
i[3].replace(',','.'), # amount
i[4], # currency
i[5], # timestamp
year # year (extracted from reference)
])
# Replace None with empty string before saving
outData = [['' if x is None else x for x in row] for row in outData]
savetxt(target_csv, outData, delimiter=";", encoding='utf-8', header='valuta_date;client;reference;intended;IBAN;entry_date;amount;currency;timestamp', fmt='%s')
savetxt(target_csv, outData, delimiter=";", encoding='utf-8', header='valuta_date;client;reference;intended;IBAN;entry_date;amount;currency;timestamp;year', fmt='%s')
bak_dir = os.path.join(os.path.dirname(source_csv), "bak")
os.makedirs(bak_dir, exist_ok=True)
os.rename(source_csv, os.path.join(bak_dir, os.path.basename(source_csv)))