This commit is contained in:
2025-05-28 08:07:04 +00:00
parent 533f974166
commit eefdae4e4a

View File

@@ -61,15 +61,29 @@ def get_services_with_service_account():
def generate_group_data_for_doc(docs_service, document_id_to_fill):
# ... (CSV-Lesen und initiale Datenaufbereitung bleiben unverändert) ...
kinder_nach_gruppen = collections.defaultdict(list)
try:
with open(CSV_FILENAME, mode='r', encoding='utf-8-sig', newline='') as csvfile:
reader = csv.DictReader(csvfile, delimiter=';')
for row in reader:
vorname = row.get('Vorname','').strip(); nachname = row.get('Nachname','').strip(); gruppe_original = row.get('Gruppe','').strip()
if not vorname or not nachname or not gruppe_original: continue
kinder_nach_gruppen[gruppe_original].append({'Nachname': nachname, 'Vorname': vorname})
except Exception as e: print(f"FEHLER CSV-Lesen: {e}"); return False
if not kinder_nach_gruppen: print("Keine CSV-Daten."); return False
try:
with open(CSV_FILENAME, mode='r', encoding='utf-8-sig', newline='') as csvfile:
reader = csv.DictReader(csvfile, delimiter=';')
print(f"DEBUG: CSV-Header gelesen: {reader.fieldnames}") # Hinzugefügt
rows_processed = 0 # Hinzugefügt
for row_index, row in enumerate(reader): # Hinzugefügt enumerate
# print(f"DEBUG: Lese Zeile {row_index}: {row}") # Sehr gesprächig, nur wenn nötig
vorname = row.get('Vorname','').strip(); nachname = row.get('Nachname','').strip(); gruppe_original = row.get('Gruppe','').strip()
if not vorname or not nachname or not gruppe_original:
print(f"DEBUG: Überspringe Zeile {row_index} wegen fehlender Daten: {row}") # Hinzugefügt
continue
kinder_nach_gruppen[gruppe_original].append({'Nachname': nachname, 'Vorname': vorname})
rows_processed += 1 # Hinzugefügt
print(f"DEBUG: {rows_processed} Zeilen aus CSV verarbeitet.") # Hinzugefügt
except FileNotFoundError: # Spezifischer Fehler für nicht gefundene Datei
print(f"FEHLER: CSV-Datei '{CSV_FILENAME}' nicht gefunden.")
return False
except Exception as e:
print(f"FEHLER CSV-Lesen: {e}")
return False
if not kinder_nach_gruppen:
print("Keine CSV-Daten (kinder_nach_gruppen ist leer).")
return False
for gk_key in kinder_nach_gruppen:
kinder_nach_gruppen[gk_key].sort(key=lambda x: (x['Nachname'].lower(), x['Vorname'].lower()))