bugfix
This commit is contained in:
@@ -4288,6 +4288,23 @@ class DataProcessor:
|
|||||||
# Spezifischere Batch-Modi (Block 26-32) haben oft ihre eigene Zeilenauswahl-Logik,
|
# Spezifischere Batch-Modi (Block 26-32) haben oft ihre eigene Zeilenauswahl-Logik,
|
||||||
# die nicht unbedingt diese Methoden verwendet.
|
# 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):
|
def _needs_website_processing(self, row_data, force_reeval):
|
||||||
"""
|
"""
|
||||||
@@ -9183,9 +9200,9 @@ class DataProcessor:
|
|||||||
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
# +++ FINALER DEBUGGING-BLOCK ZUR PRÜFUNG DES MAPPING-DICTIONARIES ++++++
|
# +++ 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.")
|
self.logger.info(f"PRÜFE MAPPING-DICT: Das self.branch_mapping Dictionary hat {len(self.branch_mapping)} Einträge.")
|
||||||
if len(BRANCH_MAPPING) < 5:
|
if len(self.branch_mapping) < 1:
|
||||||
self.logger.error("ALARM: Das BRANCH_MAPPING Dictionary ist fast oder komplett leer! Das Laden der Branchen.csv ist fehlgeschlagen.")
|
self.logger.error("ALARM: Das self.branch_mapping Dictionary ist leer!")
|
||||||
else:
|
else:
|
||||||
# Zeige die ersten 5 Schlüssel-Wert-Paare aus dem Dictionary, um zu sehen, ob es korrekt ist.
|
# 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:")
|
self.logger.info("PRÜFE MAPPING-DICT: Die ersten 5 Einträge sind:")
|
||||||
@@ -9216,7 +9233,7 @@ class DataProcessor:
|
|||||||
|
|
||||||
# Sicherere Methode:
|
# Sicherere Methode:
|
||||||
# Erstelle eine normalisierte Version des Mapping-Dictionaries
|
# 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
|
# Wende dieses normalisierte Mapping auf die normalisierte Branchenspalte an
|
||||||
df_filtered.loc[:, 'Branchen_Gruppe'] = normalized_sheet_branches.map(BRANCH_MAPPING).fillna('Sonstige')
|
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
|
# 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
|
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
|
ZIEL_BRANCHENSCHEMA, FOKUS_BRANCHEN = load_target_schema() # Zeile 10277
|
||||||
BRANCH_MAPPING = load_branch_mapping()
|
BRANCH_MAPPING = load_branch_mapping()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user