modified: excel_to_json.py

This commit is contained in:
SimolZimol
2025-06-19 00:45:01 +02:00
parent 0746ab13b7
commit b5ced45471

View File

@@ -5,28 +5,22 @@ 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})')
# 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:
if filename.lower().endswith(('.xlsx', '.xls')):
excel_path = os.path.join(dirpath, filename)
# Versuche, Jahr, Monat und Tag aus dem Pfad zu extrahieren
match = date_pattern.search(excel_path)
if match:
jahr, monat, tag = match.groups()
else:
jahr = monat = tag = "unbekannt"
try:
# 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():
key = (row['Kunde'], jahr, monat, tag)
@@ -35,14 +29,31 @@ for dirpath, _, filenames in os.walk(root_dir):
except Exception as e:
print(f"Fehler bei {excel_path}: {e}")
# Jetzt zusammenfassen: Ein Eintrag pro Kunde/Jahr/Monat/Tag
all_notes = []
# --- HIER: Erklärung und Firmeninfos einfügen ---
all_notes.append(
"Erklärung: Die folgenden Informationen stammen aus den täglichen Berichten eines Außendienstmitarbeiters der Firma Nicolaisen Casing GmbH & Co. KG. "
"Sie enthalten Kundenkontakte, Notizen zu Gesprächen, Aufträgen und Besonderheiten. "
"Die Daten werden regelmäßig gepflegt und spiegeln den aktuellen Stand im Außendienst wider."
)
all_notes.append(
"Firmeninfo: Nicolaisen Casing GmbH & Co. KG (https://www.nicolaisen-casing.de/) ist ein führender Anbieter von Natur- und Kunstdärmen für die Lebensmittelindustrie. "
"Das Unternehmen mit Sitz in Deutschland bietet hochwertige Produkte und umfassenden Service für Metzgereien, Fleischwarenhersteller und die Lebensmittelbranche. "
"Nicolaisen Casing steht für Qualität, Zuverlässigkeit und langjährige Erfahrung im Bereich Därme und Wursthüllen. "
"Kontakt: info@nicolaisen-casing.de | Telefon: +49 123 456789"
)
all_notes.append(
"Entwickler: Dieses KI-System wurde von Simon Giehl (Softwareentwickler, KI-Experte) entwickelt. "
"Bei technischen Fragen oder Anregungen wenden Sie sich bitte an simon@projekt-senegal.de."
)
# --- ENDE Zusatzinfos ---
for (kunde, jahr, monat, tag), infos in grouped_notes.items():
info_text = "".join(infos)
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)