From 0490e930534491fbef6c345c8af97614c2946860 Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 30 Jun 2025 11:49:44 +0000 Subject: [PATCH] bugfix --- helpers.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/helpers.py b/helpers.py index ef769449..4e5fc4e6 100644 --- a/helpers.py +++ b/helpers.py @@ -684,14 +684,14 @@ def load_target_schema(csv_filepath=BRANCH_MAPPING_FILE): logger.info(f"Lade Ziel-Schema und Fokus-Branchen aus '{csv_filepath}'...") try: - # HINWEIS: Encoding wurde bereits in der vorherigen Runde auf 'utf-8-sig' gesetzt. - # Dies ist der korrekte Weg. Wenn es immer noch nicht funktioniert, liegt das Problem - # möglicherweise an der Datei selbst (z.B. falscher Delimiter). - # Wir behalten den Code bei, da er korrekt ist. with open(csv_filepath, "r", encoding="utf-8-sig") as f: reader = csv.reader(f, delimiter=';') try: header_row = next(reader) + # +++ START DEBUG-CODE +++ + logger.critical(f"DEBUG: Gelesene Header-Zeile: {header_row}") + logger.critical(f"DEBUG: Anzahl der Spalten im Header: {len(header_row)}") + # +++ ENDE DEBUG-CODE +++ logger.debug(f"Ueberspringe Header-Zeile im Schema: {header_row}") except StopIteration: logger.warning(f"Schema-Datei '{csv_filepath}' ist leer oder hat keinen Header.") @@ -700,15 +700,26 @@ def load_target_schema(csv_filepath=BRANCH_MAPPING_FILE): globals()['ALLOWED_TARGET_BRANCHES'] = [] return False + # +++ START DEBUG-CODE +++ + first_row = None + try: + first_row = next(reader) + logger.critical(f"DEBUG: Gelesene ERSTE DATENZEILE: {first_row}") + logger.critical(f"DEBUG: Anzahl der Spalten in der ersten Datenzeile: {len(first_row)}") + except StopIteration: + logger.warning("DEBUG: Keine Datenzeilen nach dem Header gefunden.") + # WICHTIG: Datei neu öffnen, um von vorne zu lesen für die eigentliche Logik + f.seek(0) + next(reader) # Header wieder überspringen + # +++ ENDE DEBUG-CODE +++ + for row_num, row in enumerate(reader, 1): line_count = row_num - if not row or len(row) < 2: continue # Überspringe leere Zeilen oder Zeilen mit weniger als 2 Spalten + if not row or len(row) < 2: continue - # <<< GEÄNDERT: Lese die Zielbranche aus der ZWEITEN Spalte (Index 1) target_branch = row[1].strip() if target_branch: allowed_branches_set.add(target_branch) - # <<< GEÄNDERT: Prüfe optional die DRITTE Spalte (Index 2) für Fokus-Marker if len(row) >= 3 and row[2].strip().upper() in ["X", "FOKUS", "JA", "TRUE", "1"]: focus_branches_set.add(target_branch) logger.debug(f" -> Fokusbranche gefunden: '{target_branch}'")