diff --git a/.gitignore b/.gitignore index 530a0d2..dda501b 100644 --- a/.gitignore +++ b/.gitignore @@ -161,5 +161,3 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ - -background_data.json diff --git a/background_data.json b/background_data.json index 6b757d7..72b4bc9 100644 --- a/background_data.json +++ b/background_data.json @@ -1,8 +1,9 @@ [ - "Kupfer: Herr Meyer sucht immer noch nach einem rauchdurchlässigen Darm in Kaliber (Jahr: 2024, Monat: 06, Tag: 13)", + "Kupfer: Herr Meyer sucht immer noch nach einem rauchdurchlässigen Darm in Kaliber 58. Ich rufe nächste Woche an. (Jahr: 2024, Monat: 06, Tag: 13)", "Schneider: Herr Frank hat unsere Aromi getestet, Kaliber ist etwas zu klein! (Jahr: 2024, Monat: 06, Tag: 13)", - "BraTido: Böttcher-Gohr wird Faser 50 weiter abnehmen, wenn wir Ihr mit dem Preis (Jahr: 2024, Monat: 06, Tag: 13)", + "BraTido: Böttcher-Gohr wird Faser 50 weiter abnehmen, wenn wir Ihr mit dem Preis etwas entgegenkommen (Jahr: 2024, Monat: 06, Tag: 13)", "Meemken: Schäldarm Kal 18 schicken, muss auf Füllrohr 11 passen! Mit Streifen (Jahr: 2024, Monat: 06, Tag: 13)", + "Adler: Adler hat Probleme mit den Faser Abschnitten Kaliber 107. Wir sollten auf 2.6 umstellen. (Jahr: 2024, Monat: 09, Tag: 4)", "Houdek : Unser Angebot wurde angenommen. Wir brauchen bis KW 32 250 km Schäldarm Kal 16. Fußlänge bekomme ich noch. (Jahr: 2024, Monat: 09, Tag: 4)", "Hein Hasbergen: Ich habe dem Kunden Bescheid gesagt, dass die Schäldärme da sind. Sie schicken eine Bestellung (Jahr: 2024, Monat: 09, Tag: 4)", "Tillmanns: Wir bekommen keine Bestellungen für die NicoStar 5 Kaliber 62 mehr. Frau Urs ist im Urlaub, ich kann im Moment nicht mit ihr sprechen (Jahr: 2024, Monat: 09, Tag: 4)" diff --git a/excel_to_json.py b/excel_to_json.py index 77e3f05..5db9a29 100644 --- a/excel_to_json.py +++ b/excel_to_json.py @@ -2,12 +2,14 @@ import pandas as pd import json import os import re +from collections import defaultdict root_dir = "exel_datein" # Passe das Pattern an: Jahr/Monat/Tag date_pattern = re.compile(r'(\d{4})[\\/](\d{2})[\\/](\d{1,2})') -all_notes = [] +# Dict für Sammeln: (Kunde, Jahr, Monat, Tag) -> [Infos] +grouped_notes = defaultdict(list) for dirpath, _, filenames in os.walk(root_dir): for filename in filenames: @@ -20,16 +22,26 @@ for dirpath, _, filenames in os.walk(root_dir): else: jahr = monat = tag = "unbekannt" try: - df = pd.read_excel(excel_path, sheet_name=0, usecols=[0, 1], names=["Kunde", "Info"]) - df = df.dropna(subset=["Kunde", "Info"]) + # Lese beide Spalten, ohne Header + df = pd.read_excel(excel_path, sheet_name=0, usecols=[0, 1], header=None, names=["Kunde", "Info"]) + # Fülle fehlende Kundennamen nach unten auf + df["Kunde"] = df["Kunde"].ffill() + # Entferne Zeilen, bei denen Info leer ist + df = df.dropna(subset=["Info"]) for _, row in df.iterrows(): - # Format: Kunde: Info (Jahr: xxxx, Monat: xx, Tag: xx) - note = f"{row['Kunde']}: {row['Info']} (Jahr: {jahr}, Monat: {monat}, Tag: {tag})" - all_notes.append(note) + key = (row['Kunde'], jahr, monat, tag) + grouped_notes[key].append(str(row['Info'])) print(f"Verarbeitet: {excel_path}") except Exception as e: print(f"Fehler bei {excel_path}: {e}") +# Jetzt zusammenfassen: Ein Eintrag pro Kunde/Jahr/Monat/Tag +all_notes = [] +for (kunde, jahr, monat, tag), infos in grouped_notes.items(): + info_text = "".join(infos) + note = f"{kunde}: {info_text} (Jahr: {jahr}, Monat: {monat}, Tag: {tag})" + all_notes.append(note) + # Alles als JSON speichern with open("background_data.json", "w", encoding="utf-8") as f: json.dump(all_notes, f, ensure_ascii=False, indent=2)