0Pricing
Python Academy · Lektion

Berichte stapelweise verarbeiten

Berichte automatisch erstellen

Berichte stapelweise verarbeiten ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Wiederkehrende Berichte automatisieren

Der eigentliche Nutzen von openpyxl liegt in der Automatisierung: Dutzende ähnliche Berichte lassen sich ohne manuelle Arbeit erstellen. Denken Sie an monatliche Umsatzdateien pro Region oder eine Zusammenfassungsdatei pro Kunde.

Das Muster lautet: Datengruppen durchlaufen, für jede eine Arbeitsmappe erstellen und sie unter einem eindeutigen Namen speichern.

Daten gruppieren

Stapelberichte beginnen mit dem Gruppieren von Datensätzen, zum Beispiel nach Region. Standard-Python erledigt das übersichtlich, bevor die Excel-Arbeit beginnt.

records = [
    {'region': 'North', 'sales': 100},
    {'region': 'South', 'sales': 80},
    {'region': 'North', 'sales': 120},
]
groups = {}
for r in records:
    groups.setdefault(r['region'], []).append(r['sales'])
for region, sales in groups.items():
    print(region, sales, 'total', sum(sales))

Eine Datei pro Gruppe

Für jede Gruppe erstellen Sie eine Arbeitsmappe, schreiben die Zeilen und speichern sie unter einem aus dem Gruppenschlüssel abgeleiteten Namen. Der Schleifenkörper enthält denselben Code wie bei einem einzelnen Bericht, wird aber einfach wiederholt.

Sichere Dateinamen

Gruppenschlüssel können Zeichen enthalten, die in Dateinamen unzulässig sind. Bereinigen Sie sie zuerst, damit das Speichern nicht fehlschlägt. Das ist dieselbe Slugify-Idee, die auch an anderer Stelle verwendet wird.

import re
name = 'North/West Region 2024'
safe = re.sub(r'[^A-Za-z0-9]+', '_', name).strip('_')
print('report_' + safe + '.xlsx')

Eine wiederverwendbare Vorlagenfunktion

Lagern Sie das Berichtslayout in eine Funktion aus, die Daten entgegennimmt und eine Arbeitsmappe zurückgibt. Wenn Sie sie in der Schleife aufrufen, bleiben alle Berichte konsistent und der Code DRY (nicht wiederholen).

Die Funktion würde Überschriften setzen, Zeilen schreiben, Summen und Stile hinzufügen und dann wb zurückgeben.

Eine Zusammenfassungszeile hinzufügen

Die meisten Berichte enden mit Summen. Berechnen Sie Aggregate in Python oder mit einer Excel-Formel und schreiben Sie sie als letzte Zeile. Hier berechnen wir die Zusammenfassungswerte.

sales = [100, 120, 90, 110]
summary = {
    'count': len(sales),
    'total': sum(sales),
    'average': sum(sales) / len(sales),
    'max': max(sales),
}
for k, v in summary.items():
    print(k.ljust(8), v)

Mehrere Tabellenblätter in einer Datei

Manchmal ist eine Datei mit einem Tabellenblatt pro Gruppe besser als viele Dateien. Iterieren Sie über die Gruppen und rufen Sie wb.create_sheet(title=group_name) auf, wobei Sie jede Gruppe in ihr eigenes Tabellenblatt schreiben. Speichern Sie einmal am Ende.

Ausgabeordner organisieren

Schreiben Sie Berichte in ein datiertes Ausgabeverzeichnis, damit sich die einzelnen Ausführungen nicht gegenseitig überschreiben. Verwenden Sie os.makedirs(path, exist_ok=True), um es sicher zu erstellen, und hängen Sie anschließend die Dateinamen daran an.

import os
base = 'reports'
run_date = '2026-05-30'
out_dir = os.path.join(base, run_date)
path = os.path.join(out_dir, 'north.xlsx')
print('Would create dir:', out_dir)
print('File path:', path)

Fehlerbehandlung bei Batch-Verarbeitungen

Bei einer langen Batch-Verarbeitung sollte eine fehlerhafte Gruppe nicht den Rest anhalten. Verpacken Sie jeden Bericht in try/except, protokollieren Sie den Fehler und fahren Sie fort. Eine teilweise abgeschlossene Ausführung ist besser als eine vollständige Ausführung, die auf halber Strecke abstürzt.

Die Aufgabe planen

Sobald das Skript funktioniert, planen Sie es mit cron, Task Scheduler oder einem CI-Job so ein, dass es nächtlich oder monatlich ausgeführt wird. Derselbe Code erzeugt dann automatisch frische Berichte, ohne dass jemand eingreifen muss.

Fortschritt protokollieren

Lange Batch-Verarbeitungen profitieren von einer Fortschrittsanzeige. Geben Sie aus oder protokollieren Sie, welche Gruppe gerade verarbeitet wird und wie viele noch ausstehen, damit Sie eine langsame Ausführung von einer festgefahrenen unterscheiden können. Ein einfacher Zähler im Verhältnis zur Gesamtzahl reicht aus.

Die Protokollierung liefert außerdem eine Aufzeichnung darüber, welche Berichte erfolgreich waren, falls Sie nur die fehlgeschlagenen erneut ausführen müssen.

Kurzer Check

Testen Sie Ihr Wissen über die Automatisierung von Batch-Verarbeitungen.

Zusammenfassung

Sie können nun die Berichtserstellung automatisieren:

  • Gruppieren Sie die Daten und durchlaufen Sie anschließend die Gruppen in einer Schleife, um pro Gruppe eine Arbeitsmappe (oder ein Tabellenblatt) zu erstellen
  • Lagern Sie das Layout in eine wiederverwendbare Template-Funktion aus
  • Bereinigen Sie Dateinamen und schreiben Sie die Dateien in datierte Ausgabeordner
  • Fügen Sie Zusammenfassungszeilen hinzu, verpacken Sie jeden Bericht in try/except und planen Sie das Skript ein

So wird aus stundenlanger manueller Tabellenarbeit eine Aufgabe, die mit einem einzigen Befehl ausgeführt werden kann.

Häufig gestellte Fragen

Ist die Lektion „Berichte stapelweise verarbeiten“ kostenlos?

Ja — der vollständige Text von „Berichte stapelweise verarbeiten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Berichte stapelweise verarbeiten“?

Berichte automatisch erstellen Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Berichte stapelweise verarbeiten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Arbeitsmappen lesen
  2. Zellen schreiben und formatieren
  3. Formeln und Diagramme
  4. Berichte stapelweise verarbeiten
← Zurück zu Python Academy