Die REGISTER_*.l.xlsx

Aufbau der Datei Anfang die Daten starten mit Zeile 14!  In der Spalte A ist der Index ab zeile 14 bis zum Ende der auswertbaren Daten. Das Basis Register ist immer in der Zeile mit dem Index in Zeile A = 10000. jeder weitere Eintrag wird in der Regel um 10 erhöht.   Alles unter Index 10.000 sind Administrative Registerdateien in der Regel bis Index = 1000


Tabellenbescheibung Kurz:
✅ Statische Spaltenstruktur mit wachsender Zeilenanzahl – ideal für konsistente Verarbeitung.
✅ Administrative Spalten (A-G) – sorgen für Ordnung & Identifikation.
✅ Eindeutiger Register-Kennzeichner (Spalte G) – automatische Generierung bei neuen Einträgen.
✅ Metadaten-Schlagworte (Spalte Z) – ermöglichen präzise Suche durch semantische Keywords.
✅ Sprechende Verknüpfungen (AE, AF …) – direkte Verbindung zu anderen Registern & Speicherorten.
✅ Listenbasierte Navigation – durch Listboxen kannst du schnell springen & Zusammenhänge sehen.



Ende der Tabelle mit ca 2000 Zeilen / Einträgen


















Pseodo code II

BEGIN SCRIPT
# 1️⃣ Verzeichnisse definieren
SET SOURCE_PATH = "S:\\WB03\\000_V.gn\\"
SET TARGET_PATH = "S:\\GPT\\JSON\\"
# 2️⃣ Alle vorhandenen .l.xlsx Dateien einlesen
FOR EACH FILE IN SOURCE_PATH MATCHING "REGISTER_*.l.xlsx":
SET REGISTER_NAME = EXTRACT NAME FROM FILE
SET JSON_FILE = TARGET_PATH + REGISTER_NAME + ".l.json"
# 3️⃣ Prüfen, ob JSON existiert
IF JSON_FILE EXISTS:
SET CREATION_DATE_XLSX = GET CREATION_DATE(FILE)
SET CREATION_DATE_JSON = GET CREATION_DATE(JSON_FILE)
# 4️⃣ Falls JSON älter als XLSX, prüfen ob sich die Daten geändert haben
IF CREATION_DATE_JSON < CREATION_DATE_XLSX:
SET OLD_JSON = LOAD JSON_FILE
SET NEW_DATA = CONVERT XLSX TO JSON
IF NEW_DATA != OLD_JSON:
# 5️⃣ Nur wenn sich die Daten geändert haben, wird JSON aktualisiert
SAVE NEW_DATA TO JSON_FILE
SET MODIFIED_DATE(JSON_FILE) = CURRENT_DATE
ELSE:
LOG "Keine Änderungen in {REGISTER_NAME}, JSON bleibt unverändert"
ELSE:
# 6️⃣ Falls keine JSON existiert, wird sie erstellt
SET NEW_DATA = CONVERT XLSX TO JSON
SAVE NEW_DATA TO JSON_FILE
SET MODIFIED_DATE(JSON_FILE) = CURRENT_DATE
# 7️⃣ Abschluss & Logfile speichern
LOG "Delta-Update abgeschlossen"
END SCRIPT





Python I


import os
import json
import pandas as pd
# 1️⃣ Verzeichnisse definieren
SOURCE_PATH = "S:\\WB03\\000_V.gn\\"
TARGET_PATH = "S:\\GPT\\JSON\\"
def get_creation_date(filepath):
return os.path.getctime(filepath)
def get_modified_date(filepath):
return os.path.getmtime(filepath)
def convert_xlsx_to_json(xlsx_file):
df = pd.read_excel(xlsx_file)
json_data = df.to_dict(orient="records")
return json_data
def process_files():
for file in os.listdir(SOURCE_PATH):
if file.startswith("REGISTER_") and file.endswith(".l.xlsx"):
register_name = file.replace(".l.xlsx", "")
json_file = os.path.join(TARGET_PATH, register_name + ".l.json")
xlsx_path = os.path.join(SOURCE_PATH, file)
json_path = os.path.join(TARGET_PATH, json_file)
creation_date_xlsx = get_creation_date(xlsx_path)
if os.path.exists(json_path):
creation_date_json = get_creation_date(json_path)
if creation_date_json < creation_date_xlsx:
old_json = json.load(open(json_path, "r", encoding="utf-8"))
new_json = convert_xlsx_to_json(xlsx_path)
if old_json != new_json:
json.dump(new_json, open(json_path, "w", encoding="utf-8"), indent=4)
os.utime(json_path, None)
print(f"🔄 Update für {register_name}: JSON-Datei erneuert.")
else:
print(f"✅ Keine Änderungen in {register_name}. JSON bleibt unverändert.")
else:
new_json = convert_xlsx_to_json(xlsx_path)
json.dump(new_json, open(json_path, "w", encoding="utf-8"), indent=4)
os.utime(json_path, None)
print(f"🆕 Erstellt neue JSON-Datei für {register_name}.")
if __name__ == "__main__":
process_files()
print("🚀 Delta-Update abgeschlossen!")