In vielen Unternehmen wiederholt sich jeden Montag dieselbe Szene: Jemand lädt Exporte aus Buchhaltungssoftware, Onlineshop oder Kassensystem herunter, öffnet fünf Excel-Dateien, kopiert Spalten, korrigiert Datumsangaben, baut eine Pivot-Tabelle und schickt den Bericht an die Geschäftsleitung. Zwei Stunden Arbeit — jede Woche, mit realem Fehlerrisiko.
Diese Aufgabe ist ein perfekter Kandidat für Automatisierung. Unten finden Sie ein konkretes Beispiel für ein Python-Skript, das sie übernimmt.
Was wir automatisieren
Beispiel: Ein Unternehmen hat mehrere Filialen und erhält aus seiner Software Verkaufsexporte im CSV- und Excel-Format. Ziel ist eine Excel-Datei mit drei Blättern:
- Nach Filiale — Gesamtumsatz pro Filiale, absteigend sortiert;
- Nach Woche — Umsatz nach Wochen und Filialen;
- Alle Daten — die bereinigten, zusammengeführten Daten zur weiteren Prüfung.
Was Sie brauchen
- Python (kostenlos, von python.org),
- die Bibliotheken pandas (Tabellenverarbeitung) und openpyxl (Schreiben von .xlsx-Dateien), installiert mit einem Befehl:
pip install pandas openpyxl, - einen Ordner mit den Exporten, z. B.
exporte/.
Das vollständige Codebeispiel
from pathlib import Path
from datetime import date
import pandas as pd
EINGANG = Path("exporte") # Ordner mit Exporten aus der Software
AUSGANG = Path("berichte") # hier entsteht der fertige Bericht
AUSGANG.mkdir(exist_ok=True)
# 1) Alle Exporte (CSV und Excel) in eine Tabelle laden
teile = []
for datei in sorted(EINGANG.glob("*")):
if datei.suffix == ".csv":
df = pd.read_csv(datei, sep=";", decimal=",", encoding="utf-8")
elif datei.suffix in (".xlsx", ".xls"):
df = pd.read_excel(datei)
else:
continue
df["Quelle"] = datei.name
teile.append(df)
umsatz = pd.concat(teile, ignore_index=True)
# 2) Daten bereinigen
umsatz["Datum"] = pd.to_datetime(umsatz["Datum"], dayfirst=True)
umsatz["Filiale"] = umsatz["Filiale"].str.strip().str.title()
umsatz = umsatz.dropna(subset=["Betrag"]).drop_duplicates()
# 3) Auswertungen: nach Filiale und nach Woche
nach_filiale = (umsatz.groupby("Filiale", as_index=False)["Betrag"]
.sum().sort_values("Betrag", ascending=False))
nach_woche = umsatz.pivot_table(index=umsatz["Datum"].dt.isocalendar().week,
columns="Filiale", values="Betrag",
aggfunc="sum", fill_value=0)
# 4) Fertigen Bericht schreiben — jede Tabelle auf ein eigenes Blatt
datei = AUSGANG / f"umsatz_{date.today():%Y-%m-%d}.xlsx"
with pd.ExcelWriter(datei, engine="openpyxl") as xls:
nach_filiale.to_excel(xls, sheet_name="Nach Filiale", index=False)
nach_woche.to_excel(xls, sheet_name="Nach Woche")
umsatz.to_excel(xls, sheet_name="Alle Daten", index=False)
print("Bericht fertig:", datei)
Was das Skript Schritt für Schritt macht
1. Exporte zusammenführen
Das Skript geht alle Dateien im Ordner durch, liest CSV- und Excel-Dateien ein und führt sie in einer Tabelle zusammen. Die Spalte Quelle merkt sich, aus welcher Datei jede Zeile stammt — nützlich bei der Fehlersuche. Die Parameter sep=";" und decimal="," sind nötig, weil Exporte aus europäischer Software oft Semikolon und Dezimalkomma verwenden.
2. Daten bereinigen
Datumsangaben im Format Tag.Monat.Jahr werden zu echten Datumswerten, Filialnamen werden vereinheitlicht (Leerzeichen, Groß- und Kleinschreibung), leere und doppelte Zeilen werden entfernt. Genau hier passieren bei Handarbeit die meisten Fehler.
3. Auswertungen
groupby summiert den Umsatz pro Filiale, pivot_table erstellt eine Tabelle nach Wochen — dasselbe wie eine Pivot-Tabelle in Excel, nur ohne Klicken.
4. Eine fertige Excel-Datei
Das Ergebnis ist eine normale .xlsx-Datei mit Datum im Namen, die sich öffnen, versenden oder weiterbearbeiten lässt. Mit openpyxl können Sie außerdem Formatierung, Spaltenbreiten, Diagramme oder automatischen E-Mail-Versand ergänzen.
Automatische Ausführung
Am wertvollsten ist ein Skript, wenn es von selbst läuft:
- Windows: In der Aufgabenplanung eine Aufgabe anlegen, die jeden Montag um 7:00 Uhr
python bericht.pystartet. - Linux-Server: eine Zeile in cron, z. B.
0 7 * * 1 python3 /pfad/bericht.py.
Wenn der Mitarbeiter morgens kommt, wartet der Bericht bereits im Ordner oder im Postfach.
Wann sich Automatisierung lohnt — und wann nicht
Sie lohnt sich, wenn sich dieselbe Arbeit wiederholt (wöchentlich oder täglich), mehrere Datenquellen beteiligt sind und Fehler teuer werden. Die Rechnung ist einfach: Zwei Stunden pro Woche sind rund 100 Stunden im Jahr.
Sie lohnt sich nicht für einen Bericht, der einmal im Jahr entsteht oder dessen Format sich ständig ändert. Und für einfache Fälle direkt in Excel lohnt ein Blick auf Power Query — ein eingebautes Werkzeug, das Tabellen ohne Programmierung zusammenführen und bereinigen kann.
Tipp aus der Praxis
Schreiben Sie den Prozess vor der Automatisierung Schritt für Schritt auf — so, wie der Mitarbeiter ihn tatsächlich ausführt. Die Hälfte der Probleme löst sich schon dabei, weil sichtbar wird, welche Schritte gar nicht nötig sind.
Wie es weitergeht
Dieses Beispiel ist bewusst einfach. In echten Projekten holt das Skript die Daten oft direkt per API oder aus der Datenbank, verschickt den Bericht per E-Mail, markiert ungewöhnliche Werte oder speist ein Dashboard im Browser. Sehen Sie sich an, was die Leistung Webanwendungen und Automatisierung umfasst, und für Produktionsbetriebe Beispiele für Software in der Produktion.
Engimotive · Veröffentlicht 27. Oktober 2026