Commit Graph

1190 Commits

Author SHA1 Message Date
b819a1c226 bugfix 2025-04-04 16:12:21 +00:00
082b3da318 v1.3.17 – Batch-Debug-Ausgabe und Zeilenanzahl-Abfrage in allen Modi
Debug-Ausgabe im Verifizierungsmodus zeigt jetzt die Zeilennummern und Firmennamen des aktuellen Batches.

In allen relevanten Modi wird nun abgefragt, wieviele Zeilen verarbeitet werden sollen (Batch-Modus erwartet Vielfaches von 10).

Alle sonstigen Funktionen bleiben erhalten – die Spaltenpositionen müssen unverändert sein, um den Code nicht anzupassen.
2025-04-04 13:33:46 +00:00
37e0dd92a2 v1.3.16 – Modus 51 Verifizierung in Batch, Spaltenanpassungen für Wiki und Brancheneinordnung
Modus 51 wurde so angepasst, dass im Batch jeweils 10 Einträge aggregiert werden.

Für jeden Eintrag wird aus ChatGPT das Ergebnis verarbeitet:
– Spalte S erhält „OK“ (falls passend) oder bleibt leer.
– Falls ein alternativer Artikel vorgeschlagen wird, wird die URL in Spalte U und die Begründung in Spalte V geschrieben; bei fehlendem Artikel wird in Spalte U „Kein Wikipedia-Eintrag vorhanden.“ eingetragen.

Der Branchenvorschlag (basierend auf den Branchenangaben in Spalte G, H, O, R) wird in Spalte W geschrieben und das Konsistenzresultat in Spalte Y.

Der Verifizierungs‑Timestamp wird in Spalte AO, die Version in Spalte AP und der Batch Token Count in Spalte AQ eingetragen.
2025-04-04 12:54:08 +00:00
16f45d8668 v1.3.15 – Modus 51 Batch-Verifizierung, separate Startindizes, Token-Ausgabe in Spalte AQ
In Modus 51 werden nun jeweils 10 Einträge in einem Batch aggregiert und an ChatGPT gesendet.

Die Antwort wird so geparst, dass in Spalte W der Branchenvorschlag, in Spalte X der Konsistenzstatus und in Spalte Y die Begründung bei Abweichung eingetragen wird.

Zusätzlich wird die Token-Zahl des aggregierten Prompts in Spalte AQ geschrieben.

Es wurden separate Startindex-Funktionen implementiert, um Wiki- und ChatGPT-Runs über unterschiedliche Spalten zu steuern.
2025-04-04 12:19:12 +00:00
a0bace1bd2 Bugfix 2025-04-04 09:40:57 +00:00
8f6d54529a Bugfix 2025-04-04 09:38:23 +00:00
a351f9542e bugfix 2025-04-04 09:35:37 +00:00
9871406666 bugfix 2025-04-04 09:27:55 +00:00
94a0978c8f v1.3.13: Neuer Modus 8: Batch-Token-Zählung in Spalte AQ; Spalten um +1 verschoben
- Neuer Modus 8 implementiert, der 10 Zeilen-Batches bildet, einen aggregierten Prompt erstellt und mit tiktoken die Tokenanzahl schätzt.
- Der ermittelte Tokenwert wird in Spalte AQ für alle Zeilen des Batches eingetragen.
- Alle Spalten wurden um +1 verschoben (Kurzform in Spalte C, Website in D, etc.).
- Bestehende Modi (1,2,3,4,5,6,7,51) bleiben erhalten.
2025-04-04 09:16:13 +00:00
2f046f5af0 v1.3.12: Neuer Modus 51 – Nur Verifizierung bis Spalte Y, Spalten um +1 verschoben
- Neuer Modus 51 implementiert, der ausschließlich die Wikipedia-Daten extrahiert und die Brancheneinordnung (bis Spalte Y) vornimmt.
- FSM- und Servicetechniker-Bewertungen werden in diesem Modus übersprungen.
- Alle Spalten wurden um +1 verschoben; Kurzform des Firmennamens ist nun in Spalte C.
- Update-Aufrufe wurden entsprechend angepasst.
2025-04-04 08:46:48 +00:00
86635c020f bugfix 2025-04-03 18:24:10 +00:00
6ae09b4927 v1.3.11: Spalten um +1 verschoben, Kurzform in Spalte C; alle Indizes aktualisiert
- Neue Header: Spalte C enthält jetzt die Kurzform des Firmennamens.
- Website verschoben auf Spalte D, und alle nachfolgenden Spalten um +1.
- Alle Code-Referenzen (Update-Ranges, Indexe in _process_single_row, get_start_index, process_contacts, process_contact_research) wurden entsprechend angepasst.
- Für LinkedIn-Suchen wird jetzt die Kurzform (Spalte C) bevorzugt verwendet.
2025-04-03 14:59:39 +00:00
e2072bfb8b Bugfix 2025-04-03 14:44:22 +00:00
80867d97cd Bugfix 2025-04-03 12:55:41 +00:00
d8de70f914 Bugfix 2025-04-03 12:50:58 +00:00
7dbae41cba v1.3.9: Modi 1-6 integriert, getrennte Timestamps und erweiterte Contact Research
- Regulärer Modus (1): Bearbeitet nur Zeilen ohne Wikipedia- (Spalte AM) bzw. ChatGPT-Timestamp (Spalte AN)
- Re-Evaluierungsmodus (2): Verarbeitet nur Zeilen mit "x" in Spalte A
- Alignment-Demo (3): Schreibt neuen Header in Haupt- und Contacts-Blatt
- Modus 4: Nur Wikipedia-Suche, Modus 5: Nur ChatGPT-Bewertung
- Modus 6: Contact Research via SerpAPI; Spalten AH-AK aktualisieren und AL als Timestamp setzen
- Neue Header-Spalten: AH (Serviceleiter), AI (IT-Leiter), AJ (Management), AK (Disponent), AL (Contact Search Timestamp), AM (Wikipedia Timestamp), AN (ChatGPT Timestamp), AO (Version)
2025-04-03 12:38:28 +00:00
0d02cb854c v1.3.8: Neuer Modus 5 als Schreibtest für Contacts; Timestamps getrennt
- Alle bisherigen Funktionen bleiben erhalten
- Neuer Modus 5 (contacts_alignment_demo) führt einen Schreibtest auf dem Contacts-Sheet durch
- Spalten AH und AI werden nun getrennt als Timestamp für Wiki-Update bzw. ChatGPT-Bewertung geführt; restliche Spalten um eine Position verschoben
- Debug-Ausgaben wurden erweitert, um den Ablauf und die Ergebnisse besser nachvollziehen zu können
2025-04-03 12:07:33 +00:00
1e658922ba v1.3.7: Vollständige Version mit allen Funktionen, Modus 4: Nur Wikipedia-Suche
- Beibehaltung aller Funktionen aus früheren Versionen (Modi 1-3, LinkedIn Contacts)
- Neuer Modus 4 implementiert, der ausschließlich Wikipedia-Suchen ausführt und keine ChatGPT-Anfragen stellt
- Debug-Ausgaben wurden verbessert, um den Ablauf und die Ergebnisse besser nachvollziehen zu können
- Startindex wird anhand des letzten Timestamps in Spalte AH korrekt ermittelt, sodass bestehende Datensätze nicht überschrieben werden
2025-04-03 06:22:12 +00:00
ade03f2206 v1.3.7: Vollständige Version inkl. aller Funktionen, Modus 4: Nur Wikipedia-Suche
- Alle bisherigen Funktionen aus v1.3.6 bleiben erhalten
- Neuer Modus 4 wurde implementiert, der ausschließlich Wikipedia-Suchen durchführt ohne ChatGPT-Anfragen
- Modus 5 ermöglicht die LinkedIn-Kontaktsuche via SerpApi
- Debug-Ausgaben wurden in allen Funktionen verbessert, sodass der Ablauf und die Ergebnisse besser nachvollzogen werden können
- Der Startindex wird anhand des letzten Timestamps in Spalte AH korrekt ermittelt, sodass bestehende Datensätze nicht überschrieben werden
2025-04-03 06:06:29 +00:00
e034cce9c4 v1.3.7: Wikipedia-only search mode added, ChatGPT calls disabled in mode 4
- Implemented new mode 4 that performs only Wikipedia searches without ChatGPT requests
- process_wikipedia_only() updates columns K–Q, AH, and AI in the main sheet
- Retained existing functions for modes 1–3 and improved debug output for tracing
- Provided complete commit summary and description format with "- " as prefix
2025-04-03 05:58:12 +00:00
166fb5fa4d LinkedIn Update
Ersetze in deinem Skript den bisherigen Codeabschnitt, der den neuen Modus für die LinkedIn-Kontaktsuche (Modus 4) implementiert hat – also den gesamten Bereich ab der Definition von def search_linkedin_contact(...) bis zum Ende der Funktion def process_contacts(): – durch den oben stehenden Code.

Diese Funktionen liegen in der Sektion „NEUER MODUS: CONTACTS“ (ungefähr im mittleren Bereich deines Skripts, direkt vor dem Main-Programm).

Die zusätzlichen Debug-Ausgaben sorgen dafür, dass du in der Konsole und in der Log-Datei siehst, welche Firmen gerade verarbeitet werden, welche Suchanfragen erstellt werden und welche Ergebnisse (bzw. ob ein Kontakt gefunden wurde) zurückkommen.
2025-04-02 19:16:42 +00:00
4b13e3d22a v1.3.6: LinkedIn-Contacts via SerpApi, Bugfix Zeilenlimit & Startindex
Neuer Modus (4) zur Suche von LinkedIn-Kontakten via SerpApi, Ausgabe im Tabellenblatt "Contacts" mit den Spalten Firmenname, Website, Vorname, Nachname, Position.

Bugfix: Im regulären Modus (1) wird jetzt ab dem letzten Timestamp in Spalte AH nur noch die angegebene Anzahl an Zeilen verarbeitet.

Bugfix: Bestehende Datensätze (mit Timestamp in AH) werden nicht überschrieben, es wird ab der ersten leeren Zeile gestartet.

Weitere Anpassungen bei den bisherigen Funktionen (FSM, Servicetechniker-Schätzung) bleiben erhalten.
2025-04-02 19:02:40 +00:00
1e8911e394 Anpassung der Branchenbewertung wenn keine Wikipedia-Branche vorliegt 2025-04-02 17:33:42 +00:00
1f6e8afb85 syntax fix 2025-04-02 16:17:32 +00:00
e4780684f9 Prompt angepasst
Prompt zur Validierung angepasst.
2025-04-02 15:42:15 +00:00
cf5f247c37 v1.3.5 FSM & Servicetechniker-Explanation, Sheet-Update-Check Auto Log
Der Dekorator retry_on_failure wurde oben im Code definiert.

Wikipedia-Artikelvorschlag aus Spalte K wird bevorzugt genutzt.

Nach dem Schreiben der Wiki-Daten wird geprüft, ob das Update abgeschlossen ist, mit einer 3‑Sekunden-Pause.

Der FSM-Eignungsparser wurde flexibler angepasst, sodass auch freie Antworten erkannt werden.

Bei Abweichungen in der Servicetechniker-Schätzung wird jetzt zusätzlich eine detaillierte Erklärung von ChatGPT angefordert.

Die Spalten AF und AG werden mit "XX" befüllt.

Alle Debug-Ausgaben werden automatisch in einer Log-Datei im Ordner "Log" gespeichert, deren Name Datum, Uhrzeit und Versionsnummer enthält.
2025-04-02 14:06:58 +00:00
e0ea9f8e4d v1.3.5 Erweiterung: FSM-Eignungsprüfung & Servicetechniker-Explanation, Sheet-Update-Check, automati
Wikipedia-Artikelvorschlag aus Spalte K wird bevorzugt genutzt.

Nach dem Schreiben der Wikipedia-Daten wird überprüft, ob das Update abgeschlossen ist (mit einer max. 5‑s‑Wartezeit) und es folgt eine 3‑s Pause.

Der FSM-Eignungsparser wurde angepasst, um auch freiere Antworten zu verarbeiten.

Bei Diskrepanzen in der Servicetechniker-Schätzung wird nun zusätzlich eine detaillierte Erklärung von ChatGPT angefordert.

Die Spalten AF und AG werden vorerst mit "XX" befüllt.

Alle Debug-Ausgaben werden automatisch in einer Log-Datei im Ordner "Log" mit Datum und Versionsnummer gespeichert.
2025-04-02 13:58:23 +00:00
43c23b50d8 v1.3.4 Erweiterung: FSM-Prüfung, Servicetechniker-Schätzung, Wiki-Vorschlag & 3s Pause
Bevorzugter Wikipedia-Artikel aus Spalte K wird genutzt.

Nach dem Schreiben der Wiki-Daten erfolgt eine 3-Sekunden-Pause.

Neue Funktion zur FSM-Eignungsprüfung (Spalte Y/Z) integriert.

Neue Servicetechniker-Schätzung (Spalte AD) und Vergleich mit interner Angabe (Spalte AE) hinzugefügt.

Versionsnummer wurde auf v1.3.4 aktualisiert.
2025-04-02 13:27:37 +00:00
9a53b55173 Implementiere ChatGPT-Branchenabgleich & Update Branch Mapping (v1.3.2)
Neue Funktion zur Branchenzuordnung hinzugefügt. ChatGPT bewertet basierend auf CRM, Wikipedia-Daten und Fokusbranchen. Spalten V, W und X werden entsprechend aktualisiert. Versionsnummer wurde auf v1.3.2 aktualisiert.
2025-04-02 12:21:09 +00:00
45742413ca syntax fix 2025-04-02 10:58:58 +00:00
016393bfe1 Rollback auf 1.3.1 2025-04-02 10:57:15 +00:00
868238a2f6 Rollback auf 1.3.0 2025-04-02 10:47:35 +00:00
c61cd7f1cf v1.2.5: Umsatzvergleich verbessert; 1 Sekunde Pause + zusätzliche Debug-Ausgabe
Validierung:
Eine neue Funktion validate_company_data erstellt einen Prompt für die ChatGPT-API, in dem die relevanten CRM- und Wikipedia-Daten (Firmenname, Umsatz, Mitarbeiter, Branche) verglichen werden. Je nach Antwort wird „OK“ oder „X“ sowie eine Begründung zurückgegeben.

Alternative Suche:
Falls eine Inkonsistenz festgestellt wird (Validierung ergibt „X“), wird in der Funktion find_alternative_wikipedia_article nach einem alternativen Wikipedia-Artikel gesucht und dessen URL in Spalte T geschrieben.

Spalten R, S, T:
Die Ergebnisse der Validierung (Flag und Begründung) werden in Spalte R und S ausgegeben, während bei Inkonsistenz der alternative Artikel in Spalte T hinterlegt wird.
2025-04-02 09:40:23 +00:00
fa854374bf v1.3.1: Validierung des Wikipedia-Artikels implementiert
Validierungsschritt:
Die neue Funktion validate_article_with_chatgpt(crm_data, wiki_data) aggregiert die CRM-Daten (Spalten B–J) und die Wikipedia-Daten (Spalten L–Q) als CSV-Text. Der erstellte Prompt teilt ChatGPT mit, dass beide Datensätze verglichen werden sollen, um zu prüfen, ob sie zum selben Unternehmen gehören.
– Wichtige Vergleichskriterien sind der Firmenname, Ort und Branche (die Umsatzangaben können toleriert werden).
– Das Ergebnis (z. B. "OK" oder eine Begründung) wird in Spalte R (Konsistenzprüfung) gespeichert.

Integration:
Der Validierungsschritt wird direkt in _process_single_row nach dem Aktualisieren der Wikipedia-Daten ausgeführt. Eine 1‑Sekunden-Pause wurde eingebaut, um sicherzustellen, dass die Daten in Google Sheets aktualisiert sind, bevor die Validierung erfolgt.

Logging:
Ausführliche Debug-Ausgaben helfen dabei, den Vergleich und eventuelle Fehler zu überwachen.
2025-04-02 08:55:47 +00:00
9f5b95f188 v1.3.0: Neue Spaltenzuordnung, verbesserte numerische Extraktion & 1 Sekunde Pause
Verbesserte numerische Extraktion:

Die Funktion extract_numeric_value wurde erweitert, um den Eingabetext zuerst mittels Unicode‑Normalisierung zu säubern.

Eine robustere Regex (r'([\d]+(?:[.,]\d+)*)') wurde eingeführt, um Zahlen zuverlässig zu erfassen.

Die extrahierte Zahl wird normalisiert (Standard-Komma und Punkt) und dann konvertiert.

Debug-Ausgabe: Es werden zusätzliche Debug-Nachrichten ausgegeben, die die bereinigten Vergleichswerte vor der Konversion anzeigen.

Pause: Eine 1‑Sekunden‑Pause wurde nach dem Speichern der Wikipedia-Daten in Google Sheets eingefügt, um sicherzustellen, dass die Werte tatsächlich ankommen.
2025-04-02 08:34:26 +00:00
05d7a94097 Rollback auf 1.2.4 2025-04-02 06:31:37 +00:00
c5bc203fab v1.2.8: Verbesserte numerische Parsing-Logik und robustere Umsatz-Vergleichslogik
Robuste numerische Extraktion:
Die Funktion extract_numeric_value wurde erweitert, um führende und umgebende Texte zu entfernen. Kommas werden je nach Kontext als Dezimaltrennzeichen oder Tausendertrennzeichen behandelt.

Verbesserte Vergleichslogik:
Vor dem Vergleich werden die bereinigten Werte geloggt. Falls einer der Werte nicht in einen Float konvertiert werden kann, wird "Daten unvollständig" zurückgegeben.

Erweiterte Debug-Ausgabe:
Log-Ausgaben zeigen jetzt explizit die bereinigten Vergleichswerte für CRM- und Wikipedia-Umsätze.

Pause zur Datensynchronisation:
Eine einsekündige Pause wurde nach dem Schreiben in Google Sheets eingeführt, um
2025-04-02 05:58:22 +00:00
ff7d5dd278 1.2.8
• Neue Funktionen parse_currency_value und parse_employee_value extrahieren und wandeln Umsatz- bzw. Mitarbeiterzahlen korrekt um.
• Tausenderpunkte werden entfernt und Kommas als Dezimaltrenner ersetzt.
• Skalierung: Bei "mrd." wird der Wert mit 1000 multipliziert, bei "mio." bleibt er unverändert, andernfalls wird angenommen, dass der Wert in Euro vorliegt und durch 1e6 geteilt wird.
• Im Vergleichsabschnitt werden die zu vergleichenden Werte vor dem Versuch der Umwandlung geloggt.
• Es wird eine 1-Sekunden-Pause nach dem Schreiben in Google Sheets eingefügt, um sicherzustellen, dass die Daten übernommen wurden.
2025-04-02 05:50:31 +00:00
491ec4a379 v1.2.7: Verbesserte numerische Bereinigung; robustere Umwandlung von Umsatz & Mitarbeiterzahlen
Verbesserte Numerische Extraktion:
In extract_numeric_value werden nun führende Nicht-Ziffern entfernt. Es wird unterschieden, ob ein Komma als Dezimaltrennzeichen oder als Tausendertrenner genutzt wird. Dadurch werden Werte wie "2,395 Mrd. Euro" korrekt in 2395 Mio. Euro umgerechnet und Mitarbeiterzahlen wie "ca. 800" werden korrekt extrahiert.

Erweiterte Debug-Ausgabe:
Die bereinigten Vergleichswerte für CRM- und Wikipedia-Umsätze werden im Log ausgegeben, um Formatierungsprobleme schneller zu erkennen.

Fallback-Handling:
Bei fehlerhafter Umwandlung wird der Originaltext als Fallback zurückgegeben.
2025-04-01 18:28:40 +00:00
74b1395c57 v1.2.6: Erweiterte String-Bereinigung für Umsatz/Mitarbeiterwerte; verbesserter Debug-Log
Erweiterte String-Bereinigung:
Zusätzliche Ersetzungen in extract_numeric_value (Entfernung von "ca.", "circa", "etwa", "über", "rund") zur robusteren Extraktion numerischer Werte aus Rohtexten.

Fallback-Handling:
Bei Fehlern in der Umwandlung wird der Originaltext oder "k.A." als Fallback ausgegeben.

Zusätzliche Debug-Ausgabe:
Vor dem Vergleich der CRM- und Wikipedia-Umsätze werden die bereinigten Werte im Debug-Log ausgegeben.

Kurze Pause (1 Sekunde):
Eine 1-Sekunden-Pause wird nach dem Update in Google Sheets eingefügt, um sicherzustellen, dass die Werte vor dem Vergleich vollständig gespeichert sind.
2025-04-01 18:19:07 +00:00
e7a30eb587 v1.2.5: Added 1s pause after sheet update & enhanced debug output for Umsatz comparison
1-Sekunden-Pause:
Nach dem Update der Wikipedia-Daten in Google Sheets wird eine 1-Sekunden-Pause eingefügt, um sicherzustellen, dass die Zellen aktualisiert wurden, bevor der Umsatzvergleich erfolgt.

Zusätzliche Debug-Ausgabe:
Vor dem Vergleich werden die CRM-Umsatz- und Wikipedia-Umsatzwerte im Debug-Log ausgegeben, um besser nachvollziehen zu können, welche Werte verglichen werden.

Umsatz-Abgleich:
Die Funktion compare_umsatz_values vergleicht den in Spalte I (CRM) hinterlegten Umsatz mit dem aus Wikipedia extrahierten Umsatz. Bei Abweichungen wird eine entsprechende Meldung in Spalte AG ausgegeben.
2025-04-01 18:07:04 +00:00
a81cbed674 v1.2.4: Added ChatGPT API Umsatz evaluation and CRM vs. Wikipedia Umsatz comparison in Spalte AG
ChatGPT API Integration:

Die Funktion evaluate_umsatz_chatgpt liest den API-Key aus api_key.txt und fragt ChatGPT zur Schätzung des Umsatzes in Mio. € basierend auf dem Firmennamen und Wikipedia-Umsatz.

Das Ergebnis wird in Spalte AF ("Schätzung Umsatz ChatGPT") geschrieben.

Umsatz-Vergleich:

Die Funktion compare_umsatz_values vergleicht den CRM-Umsatz (Spalte I) mit dem Wikipedia-Umsatz (Spalte O).

Das Vergleichsergebnis ("OK" oder eine Abweichungsangabe) wird in Spalte AG ("Begründung für Abweichung Umsatz") eingetragen.

Spaltenzuordnung & Alignment:

Das neue Spaltenschema wird weiterhin über den Alignment-Demo-Modus (Modus 3) getestet.
2025-04-01 17:36:38 +00:00
fa5521ae13 v1.2.4: Integrated ChatGPT API for Umsatz evaluation in Spalte AF
ChatGPT API Integration:

Neue Funktion evaluate_umsatz_chatgpt liest den API-Token aus der Datei api_key.txt und sendet einen strukturierten Prompt an die ChatGPT API.

Der Prompt fordert zur Schätzung des Umsatzes in Mio. Euro auf Basis des Unternehmensnamens und der Wikipedia-Umsatzangabe auf.

Das Ergebnis (nur eine Zahl) wird verarbeitet und in Spalte AF (Schätzung Umsatz ChatGPT) eingetragen.

Update der DataProcessor-Logik:

Nach der Aktualisierung der Wikipedia-Daten (Spalten K bis Q) wird die ChatGPT-API-Funktion aufgerufen, um den Umsatz zu evaluieren, und das Ergebnis in Spalte AF geschrieben.
2025-04-01 16:52:29 +00:00
422fad4952 v1.2.3: Updated alignment demo and extraction ranges per new schema (K:Q for Wiki data, AH for Times
Zusammenfassung der Änderungen (v1.2.2 → v1.2.3)
Neues Spaltenschema:
Die neue Spaltenzuordnung wurde gemäß der CSV-Vorlage umgesetzt. Die relevanten Felder aus Wikipedia werden jetzt in:

Spalte K: Vorschlag Wiki URL (Platzhalter "k.A.")

Spalte L: Wikipedia URL

Spalte M: Wikipedia Absatz

Spalte N: Wikipedia Branche

Spalte O: Wikipedia Umsatz

Spalte P: Wikipedia Mitarbeiter

Spalte Q: Wikipedia Kategorien
geschrieben.

Timestamp & Version:
Der Timestamp wird in Spalte AH und die Version in Spalte AI aktualisiert.

Alignment-Demo:
Der Alignment-Demo-Modus (Option 3) schreibt nun die neuen Spaltenüberschriften in den Range A11200:AI11200 (34 Spalten entsprechend dem neuen Schema).
2025-04-01 16:30:03 +00:00
8e13b5a345 v1.2.2: Added Wikipedia categories extraction; updated update range to J:O
Zusammenfassung der Änderungen (v1.2.1 → v1.2.2)
Wikipedia-Kategorien:

Neue Methode extract_categories im WikipediaScraper extrahiert die Kategorien aus dem <div id="mw-normal-catlinks"> und gibt sie als kommagetrennten String zurück.

In extract_company_data wird das Ergebnis unter dem Schlüssel "categories" in die Rückgabe aufgenommen.

Update-Range:

Die Wikipedia-Daten werden nun in Spalten J bis O geschrieben (6 Spalten: URL, Absatz, Branche, Umsatz, Mitarbeiter, Kategorien).

Spaltenzuordnung:

Timestamp wird in Spalte Y und Version in Spalte Z aktualisiert.
2025-04-01 09:39:36 +00:00
8ef4280b2b v1.2.1: Updated column mapping; Timestamp now in Spalte Y, Version in Spalte Z
Neues Spaltenschema:
Das Schema wurde gemäß deiner Vorgaben aktualisiert:

Spalte A: ReEval Flag

Spalte B: Firmenname

Spalte C: Website

Spalte D: Ort

Spalte E: Beschreibung

Spalte F: Aktuelle Branche

Spalte G: Beschreibung Branche extern

Spalte H: Anzahl Techniker CRM

Spalte I: Vorschlag Wiki URL

Spalte J: Wikipedia URL

Spalte K: Wikipedia Absatz

Spalte L: Wikipedia Branche

Spalte M: Wikipedia Umsatz

Spalte N: Wikipedia Mitarbeiter

Spalte O: Wikipedia Kategorien

Spalte P: Konsistenzprüfung

Spalte Q: Begründung bei Inkonsistenz

Spalte R: Vorschlag Wiki Artikel ChatGPT

Spalte S: FSM Relevanz Ja / Nein

Spalte T: Begründung für FSM Relevanz

Spalte U: Schätzung Anzahl Mitarbeiter

Spalte V: Begründung bei Abweichung

Spalte W: Einschätzung Anzahl Servicetechniker

Spalte X: Begründung bei Abweichung Anzahl Servicetechniker

Spalte Y: Timestamp letzte Prüfung (verschoben von U)

Spalte Z: Version

Alignment-Demo-Modus (Option 3):
Der Alignment-Demo-Modus (Modus 3) schreibt die neuen Spaltenüberschriften in den Range A11200:Z11200, sodass du die korrekte Anordnung vor der inhaltlichen Befüllung überprüfen kannst.

Update-Ranges angepasst:
Sowohl im normalen als auch im Re‑Evaluierungsmodus werden die extrahierten Wikipedia-Felder nun in Spalte J bis N geschrieben, der Timestamp in Spalte Y und die Versionsnummer in Spalte Z.

Diese Version (v1.2.1) spiegelt nun die von dir gewünschte Spaltenanordnung wider. Bitte teste diese Version und gib mir Feedback zur weiteren Optimierung.
2025-04-01 09:20:07 +00:00
5bab7d78f6 v1.2.0: Updated column mapping per new schema with Alignment-Demo mode
Neues Spaltenschema:
Die Alignment-Demo (Modus 3) wurde angepasst, um die neuen Spaltenüberschriften A–Z gemäß dem neuen Schema zu schreiben:

Spalte A (ReEval Flag)

Spalte B (Firmenname)

Spalte C (Website)

Spalte D (Ort)

Spalte E (Beschreibung)

Spalte F (Aktuelle Branche)

Spalte G (Beschreibung Branche extern)

Spalte H (Anzahl Techniker CRM)

Spalte I (Vorschlag Wiki URL)

Spalte J (Wikipedia URL)

Spalte K (Wikipedia Absatz)

Spalte L (Wikipedia Branche)

Spalte M (Wikipedia Umsatz)

Spalte N (Wikipedia Mitarbeiter)

Spalte O (Wikipedia Kategorien)

Spalte P (Konsistenzprüfung)

Spalte Q (Begründung bei Inkonsistenz)

Spalte R (Vorschlag Wiki Artikel ChatGPT)

Spalte S (FSM Relevanz Ja / Nein)

Spalte T (Begründung für FSM Relevanz)

Spalte U (Timestamp letzte Prüfung)

Spalte V (Schätzung Anzahl Mitarbeiter)

Spalte W (Begründung bei Abweichung)

Spalte X (Einschätzung Anzahl Servicetechniker)

Spalte Y (Begründung bei Abweichung Anzahl Servicetechniker)

Spalte Z (Version)

Alignment-Demo-Modus (Option 3):
Beim Starten des Modus 3 wird in Zeile 11200 der Range A11200:Z11200 mit den neuen Überschriften gefüllt, sodass du das Spaltenlayout vor der inhaltlichen Befüllung überprüfen kannst.

Restliche Funktionalität:
Die bestehenden Funktionen (Wikipedia-Suche, Umsatz- und Mitarbeiterextraktion etc.) bleiben unverändert.
2025-04-01 09:08:36 +00:00
9a0b9beb38 v1.2.0: Added Alignment-Demo mode (Option 3) for new column header mapping
Zusammenfassung der Änderungen (v1.1.16 → v1.2.0)
Neue Alignment-Demo (Modus 3):

Ein neuer Modus „3“ wurde hinzugefügt, der ausschließlich eine Demo-Zeile (Zeile 11200) mit den neuen Spaltenüberschriften in das Google Sheet schreibt.

Dies ermöglicht die Validierung der neuen Spaltenanordnung anhand einer Übersetzungstabelle.

Spaltenzuordnung:

Die Code-Logik für das Update der Zellen wurde so angepasst, dass bei normalen bzw. Re‑Evaluierungsmodi die korrekten Spaltenadressen genutzt werden.

Sonstiges:

Unicode-Normalisierung und bestehende Umsatz- sowie Mitarbeiterextraktion (v1.1.16) bleiben erhalten.
2025-04-01 08:30:39 +00:00
30a1eb11e7 v1.1.16: Added fallback debug for Umsatz extraction; improved Mitarbeiter parsing
Unicode Normalisierung:

clean_text nutzt nun unicodedata.normalize("NFKC", ...) zur Vereinheitlichung ambigue Unicode-Zeichen.

Umsatz-Extraktion:

In extract_numeric_value wird nun vor der Regex-Suche nichtbrechende Leerzeichen (\xa0) durch normale Leerzeichen ersetzt.

Bei fehlender Umwandlung (z. B. wenn kein numerischer String gefunden wird) wird ein Debug-Log ausgegeben, der den Original-Rohtext zeigt.

Mitarbeiterextraktion:

Gleiche Methode wie bei Umsatz, wobei die Mitarbeiterzahl als ganze Zahl zurückgegeben wird.

Flexible Regex (unter Nutzung von in im Vergleich) fängt Varianten ab, sodass z. B. "4.175 (2021/22)" zu "4175" wird.
2025-04-01 06:33:31 +00:00
020a17d3b3 v1.1.15: Final Umsatz & Mitarbeiter extraction fix with Unicode normalization
Unicode Normalisierung:

In der Funktion clean_text wird nun unicodedata.normalize("NFKC", ...) verwendet, um ambigue Unicode-Zeichen zu vereinheitlichen. Dadurch sollten unerwartete Leerzeichen oder Sonderzeichen keine Probleme mehr verursachen.

Umsatz-Extraktion:

Der numerische Teil wird korrekt extrahiert, indem Punkte als Tausendertrennzeichen entfernt und Kommas als Dezimaltrenner interpretiert werden.

Bei "Mrd" wird der Wert mit 1000 multipliziert, sodass z. B. "2,395 Mrd. Euro" zu 2395 Mio. umgerechnet wird.

Mitarbeiterextraktion:

Die Mitarbeiterzahl wird mittels der gleichen Helper-Funktion extrahiert. Unicode-Normalisierung und flexible Regex (mit "in" anstatt exakter Vergleiche) sorgen dafür, dass Werte wie "4.175 (2021/22)" korrekt als 4175 erkannt werden.

Allgemeines:

Der Re‑Evaluierungsmodus verarbeitet alle Zeilen mit „x“ in Spalte A und gibt den vollständigen Infobox-Inhalt in der Konsole aus.

Diese Version (v1.1.15) sollte nun das Problem beheben, dass Mitarbeiterzahlen nicht extrahiert wurden, und gleichzeitig die Umsatzwerte korrekt in Mio € umrechnen. Bitte teste die Version und gib Bescheid, falls noch weitere Anpassungen erforderlich sind.
2025-04-01 06:15:11 +00:00