diff --git a/brancheneinstufung.py b/brancheneinstufung.py index f2ef20003..4caeb6fed 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -109,13 +109,21 @@ PATTERNS_FILE_TXT = "technician_patterns.txt" # Alt (Optional beibehalten) PATTERNS_FILE_JSON = "technician_patterns.json" # Neu (Empfohlen) def load_branch_mapping(file_path='Branchen.csv'): + # Hole eine Referenz zum Logger direkt in der Funktion + logger = logging.getLogger(__name__) + try: - df_mapping = pd.read_csv(file_path, sep=';', usecols=['Branch Group', 'Branch']) - # Erstelle ein Dictionary: { 'Branch-Detail': 'Branch-Group' } - # .str.strip() um führende/endende Leerzeichen zu entfernen + # Verwenden Sie hier die korrigierte Spaltenüberschrift + df_mapping = pd.read_csv(file_path, sep=';', usecols=['Branchgoup', 'Branch']) + df_mapping.rename(columns={'Branchgoup': 'Branch Group'}, inplace=True) + branch_map_dict = pd.Series(df_mapping['Branch Group'].values, index=df_mapping['Branch'].str.strip()).to_dict() logger.info(f"Branchen-Mapping aus '{file_path}' erfolgreich geladen ({len(branch_map_dict)} Einträge).") return branch_map_dict + except ValueError as e: # Fange den spezifischen ValueError + logger.error(f"FEHLER: Spaltennamen in '{file_path}' passen nicht zu den erwarteten Spalten. " + f"Stellen Sie sicher, dass die Header 'Branchgoup' und 'Branch' sind. Fehlerdetails: {e}") + return {} # Gib ein leeres Dictionary zurück, damit das Skript nicht abstürzt except Exception as e: logger.error(f"FEHLER beim Laden der Branchen-Mapping-Datei '{file_path}': {e}") return {}