bugfix
This commit is contained in:
@@ -4288,6 +4288,23 @@ class DataProcessor:
|
||||
# Spezifischere Batch-Modi (Block 26-32) haben oft ihre eigene Zeilenauswahl-Logik,
|
||||
# die nicht unbedingt diese Methoden verwendet.
|
||||
|
||||
def __init__(self, sheet_handler, wiki_scraper, ziel_schema, fokus_branchen, branch_mapping): # Neue Parameter
|
||||
self.logger = logging.getLogger(self.__class__.__name__)
|
||||
self.logger.info("Initialisiere DataProcessor...")
|
||||
self.sheet_handler = sheet_handler
|
||||
self.wiki_scraper = wiki_scraper
|
||||
|
||||
# +++ NEUE INSTANZATTRIBUTE +++
|
||||
self.ziel_schema = ziel_schema
|
||||
self.fokus_branchen = fokus_branchen
|
||||
self.branch_mapping = branch_mapping
|
||||
|
||||
# Laden von Modell/Imputer bleibt wie es ist
|
||||
self.model = None
|
||||
self.imputer = None
|
||||
self._expected_features = None
|
||||
|
||||
self.logger.info("DataProcessor initialisiert mit Handlern und Konfigurationsdaten.")
|
||||
|
||||
def _needs_website_processing(self, row_data, force_reeval):
|
||||
"""
|
||||
@@ -9183,9 +9200,9 @@ class DataProcessor:
|
||||
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
# +++ FINALER DEBUGGING-BLOCK ZUR PRÜFUNG DES MAPPING-DICTIONARIES ++++++
|
||||
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
self.logger.info(f"PRÜFE MAPPING-DICT: Das BRANCH_MAPPING Dictionary hat {len(BRANCH_MAPPING)} Einträge.")
|
||||
if len(BRANCH_MAPPING) < 5:
|
||||
self.logger.error("ALARM: Das BRANCH_MAPPING Dictionary ist fast oder komplett leer! Das Laden der Branchen.csv ist fehlgeschlagen.")
|
||||
self.logger.info(f"PRÜFE MAPPING-DICT: Das self.branch_mapping Dictionary hat {len(self.branch_mapping)} Einträge.")
|
||||
if len(self.branch_mapping) < 1:
|
||||
self.logger.error("ALARM: Das self.branch_mapping Dictionary ist leer!")
|
||||
else:
|
||||
# Zeige die ersten 5 Schlüssel-Wert-Paare aus dem Dictionary, um zu sehen, ob es korrekt ist.
|
||||
self.logger.info("PRÜFE MAPPING-DICT: Die ersten 5 Einträge sind:")
|
||||
@@ -9216,7 +9233,7 @@ class DataProcessor:
|
||||
|
||||
# Sicherere Methode:
|
||||
# Erstelle eine normalisierte Version des Mapping-Dictionaries
|
||||
mapping_lower = {k.lower(): v for k, v in BRANCH_MAPPING.items()}
|
||||
mapping_lower = {str(k).strip().lower(): v for k, v in self.branch_mapping.items()} # self.branch_mapping verwenden
|
||||
# Wende dieses normalisierte Mapping auf die normalisierte Branchenspalte an
|
||||
df_filtered.loc[:, 'Branchen_Gruppe'] = normalized_sheet_branches.map(BRANCH_MAPPING).fillna('Sonstige')
|
||||
|
||||
@@ -10283,6 +10300,33 @@ def main():
|
||||
# handlers=[] verhindert default Console Handler, wir fuegen ihn manuell hinzu fuer mehr Kontrolle
|
||||
logging.basicConfig(level=log_level, format=log_format, handlers=[]) # log_format wird hier bereits verwendet
|
||||
|
||||
logger.info("Lade Konfigurationsdaten...")
|
||||
|
||||
# Lade die Schemata und Mappings NACH dem Logging-Setup
|
||||
ziel_schema, fokus_branchen = load_target_schema()
|
||||
branch_mapping_dict = load_branch_mapping()
|
||||
|
||||
# Wenn das Laden fehlschlägt, können wir hier sicher abbrechen
|
||||
if not ziel_schema:
|
||||
logger.critical("Ziel-Branchenschema konnte nicht geladen werden. Skriptabbruch.")
|
||||
return
|
||||
if not branch_mapping_dict:
|
||||
logger.critical("Branchen-Mapping konnte nicht geladen werden. Skriptabbruch.")
|
||||
return
|
||||
|
||||
args = parse_arguments()
|
||||
|
||||
# Initialisiere den DataProcessor und übergebe ihm die geladenen Daten
|
||||
sheet_handler = GoogleSheetHandler(Config.SHEET_ID, Config.SERVICE_ACCOUNT_FILE, Config.TOKEN_FILE)
|
||||
wiki_scraper = WikipediaScraper()
|
||||
|
||||
# +++ WICHTIGE ÄNDERUNG HIER +++
|
||||
# Wir übergeben die Daten an den Konstruktor
|
||||
data_processor = DataProcessor(sheet_handler, wiki_scraper, ziel_schema, fokus_branchen, branch_mapping_dict)
|
||||
|
||||
logger.info("DataProcessor erfolgreich initialisiert.")
|
||||
|
||||
|
||||
ZIEL_BRANCHENSCHEMA, FOKUS_BRANCHEN = load_target_schema() # Zeile 10277
|
||||
BRANCH_MAPPING = load_branch_mapping()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user