Weiter zum Inhalt

Mit Python Tabellenkalkulationen in der Data Science beflügeln

Lerne, wie du mit dem Paket pandas oft effektiver arbeitest als mit Excel.
Aktualisiert 18. Sept. 2026  · 15 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Excel, mein alter Freund

Ich gehöre zu den Menschen, die Daten in Tabellenkalkulationen bearbeiten, einfach weil sie es können. Letzte Woche hat mein Teamlead eine Liste der Mitarbeitenden verschickt, die ihre Projekt-Checklisten nicht aktualisiert hatten. Ich habe sie sofort geöffnet, Tabellen gebaut, Kennzahlen je Person zusammengestellt und ihm dann direkt eine Auswertung nach Mitarbeitenden geschickt. Vermutlich hat es ihn etwas genervt, aber ich kann nicht anders: Ich liebe Datenanalyse – und ich liebe Excel. Ich nutze Excel seit 2001, und bis vor ein paar Monaten war es mein bevorzugtes Tool für Datenorganisation, Analyse und Visualisierung. Es ist großartig zum Strukturieren von Daten, für Berechnungen und Analysen und funktioniert sogar als einfache Datenbank. Ich habe damit alles gemacht – vom privaten Haushaltsbuch über Ausgaben- und Trainings-Tracking bis hin zu mehrseitigen Personalstärkemeldungen in der Armee. Dafür war Excel meist gut geeignet – und oft die einzige Option. Aus Sicherheitsgründen hatte ich keinen Zugriff auf VBA, Python oder andere Automatisierung. Die Datensätze waren außerdem klein genug.

Vor fast genau einem Jahr habe ich im Abilities Lab von Cerner als System Engineer im Software-Performance-Testing angefangen. Kurz gesagt: Wir testen neue und aktualisierte Software, bevor sie zu Kundinnen und Kunden geht – und zwar alles: CPU und Arbeitsspeicher unter Windows und Unix, die Performance der Java Virtual Machine, Antwortzeiten im Backend und in der UI, Datenbankleistung, Auswirkungen auf bestehende Software, Netzwerkperformance und so ziemlich alles, was dir einfällt. Kein Test läuft auf nur einer Maschine – meistens ist es ein Mix aus Windows- und Unix-Systemen (physisch und virtuell), Endgeräten und Servern. In einem Projekt, an dem ich beteiligt war, mussten Daten von über 20 Systemen eingesammelt werden.

Je nach Projektdauer kommen schnell 50+ Tests zusammen, die geprüft, analysiert und berichtet werden müssen. All diese Daten müssen in einem Abschlussbericht zusammengefasst werden, der in einem internen Jira-Projekt veröffentlicht wird – für das Entwicklungsteam. Es gibt interne Tools, die einen Großteil der Daten aggregieren, aber eben nicht alles, und die Reports dort sind nicht ausreichend anpassbar für die speziellen Testtypen, die ich durchführe. Mein Mittel der Wahl zum Schreiben und Liefern dieser Berichte war Excel – warum auch nicht? Ich bringe viel Excel-Erfahrung mit und war überzeugt, dass ich damit alles hinbekomme.

Excel, wir haben ein Problem ...

Ich erspare dir die Details des mühsamen Prozesses, Daten aus unseren internen Tools nach Excel zu bekommen – nur so viel: Es hat Stunden gedauert, und ich bin sehr versiert in Excel. Daten mussten kopiert, bereinigt, sortiert und gefiltert werden. Egal wie ich die Formeln schrieb, sie mussten fast immer angepasst werden. Tabellen und Diagramme mussten je nach Anzahl der Tests, Knoten und verschiedener Antwortzeiten nachgezogen werden. Danach folgten Suchen-und-Ersetzen für die korrekten Testnamen, Nummernformate und Hervorhebungen in jeder Zeile auf jeder Seite prüfen – kurz: Datenhygiene. Ich habe Templates, Makros und VBA-Skripte geschrieben. Nichts war flexibel genug für eine variable Zahl an Tests, Geräten und Metriken, ohne dass ich jedes Mal massiv nacharbeiten musste. Ein Template hat den Prozess zwar beschleunigt, aber es dauerte immer noch einen halben Tag, bis alles passte.

Ich muss schmunzeln, wenn ich an manche absurd komplizierten Formeln und VBA-Skripte in diesem Template denke. Richtig schlimm wurde es, als wir Java aktualisiert haben und unsere Tools die Logs nicht mehr korrekt verarbeiten konnten. Wir sind auf ein externes Tool namens GC Easy umgestiegen, das Logs sauber in eine JSON-Datei parsed, die sich in Excel laden lässt. Die JSON-Dateien kann man via PowerQuery einlesen – aber das ist langsam und zäh. Versuch mal 50+ JSONs mit jeweils über einer Million Zeilen zu parsen: Excel geht dabei regelmäßig in die Knie. Dazu kam der Wunsch, den Prozess zu automatisieren – ich fand keinen guten Weg. Selbst wenn die Daten in Excel waren, froren die Visualisierungen (gestapelte Flächendiagramme für Heap Size über die Zeit) ein und verursachten weitere Abstürze. Und die JSONs waren nur der Anfang.

Manuelles Kopieren, Bereinigen und Analysieren führt zwangsläufig zu Fehlern. Wir sind alle nur Menschen: Wir übersehen Dinge, lassen uns ablenken, klicken daneben. Mein Prozess funktionierte nicht – und würde nie für alle funktionieren, es sei denn, das gesamte Team bekäme ein intensives Excel-Training. Vielleicht liegt es an meinem Militärhintergrund, vielleicht an meiner Persönlichkeit – ich suche immer nach Wegen, Prozesse zu verbessern und effizienter zu machen. Also habe ich versucht, den gesamten Ablauf zu verschlanken.

Unser internes Tool hatte damals weder API noch funktionierenden Export. Ich konnte Daten nur per Copy/Paste herausziehen. Also ging ich direkt an die Quelle: die Logfiles der Geräte im Test. Das bedeutete, in einem Testverzeichnis und vielen Unterordnern zu suchen, Daten aus unterschiedlichen Dateitypen und Formaten zu ziehen, alle Berechnungen zu erledigen und das Ganze in Excel im benötigten Format auszugeben – inklusive Visualisierungen und bedingter Formatierung.

Ich musste u. a. folgende Dateitypen parsen: .txt, .csv, .json (verschiedene Strukturen), .xml (verschiedene Strukturen), .dat, .html – und einige Daten kamen aus einer Oracle-Datenbank. Zudem gab es variable Verzeichnisstrukturen, unterschiedliche Anzahl und Strukturen von Dateien, .xml-Dateien ohne schließende Tags und Dateigrößen über 10 GB. Der Prozess sollte nachvollziehbar sein, maximal automatisiert und Millionen Zeilen verarbeiten. Excel war dafür absolut ungeeignet. Also habe ich mir gängige BI-Tools angesehen: Power BI und Tableau. Ohne hier eine Produktbewertung zu machen: Sie haben meine Anforderungen kategorisch nicht erfüllt.

Welches Tool kann also alles, was Excel kann, schreibt bei Bedarf Reports in Excel – und erfüllt alle genannten Anforderungen?

Lern meine neuen Freunde kennen: Python und pandas

Wenn du Excel kennst, wirst du pandas für Python lieben. pandas vereint die Funktionalität von Excel mit der Power von Python. Excel-Spalten werden zu pandas Series, Tabellen zu DataFrames, komplexe Formeln zu Python-Funktionen. pandas kann alles, was Excel kann:

Daten einlesen

Excel liest Flatfiles ganz ordentlich und kann mit PowerQuery eingeschränkt Datenbanken abfragen sowie bestimmte .xml- und .json-Dateien einlesen. Laut Doku klingt das nach dem perfekten Universalwerkzeug – in der Praxis ist es das nicht. Die Oberfläche ist sperrig, Automatisierung kaum möglich und Datenbereinigung macht ungefähr so viel Spaß wie ein Zahnarzttermin. pandas hingegen macht das Einlesen kinderleicht.

Die Python-Bibliothek kann nativ aus einer Vielzahl von Quellen lesen. Eine vollständige Liste findest du in der Dokumentation. Großartig ist: Wenn pandas es nicht nativ kann, gibt es oft ein Python-Paket dafür – oder ein paar Zeilen Code lösen das Problem. DataCamps Kursreihe zum Datenimport in Python deckt das Thema fundiert ab.

Ich konnte mit pandas jeden der genannten Dateitypen einlesen – sogar .xml-Dateien ohne schließende Tags. Mit etwas kreativem Natural Language Processing ziehe ich inzwischen auch Test-Metadaten aus rohen .txt-Dateien, was in Excel nicht möglich war, da sie nicht datenfreundlich formatiert sind. Die aktuelle Skriptversion liest nicht nur alle benötigten Dateitypen: Mit ein paar zusätzlichen Python-Zeilen hole ich die Java-Garbage-Collection-.json-Logs automatisch via API von GC Easy ab – etwas, das mit Excel niemals möglich gewesen wäre. Der Vergleich zu Excel? Mit pandas durchsuche ich ein ganzes Testverzeichnis und bekomme alle Daten in sauberen DataFrames in nur wenigen Minuten zurück. Selbst Logfiles über 10 GB sind kein Problem. Das klingt vielleicht nicht groß – aber viel Erfolg beim Einlesen solcher Größen in Excel.

Ich bin sogar dazu übergegangen, statt der Rohdateien Daten aus einer Multiterabyte-Oracle-Datenbank zu ziehen. Mit Excel kann ich das kaum vergleichen – außer einem kurzen Versuch habe ich Datenbankabfragen in Excel gemieden. Von dem, was ich erinnere, möchte ich das nicht wiederholen. Über Python ist es mit SQLAlchemy dagegen ein Kinderspiel. Die Verbindung ist einfach, und die Abfragegeschwindigkeit lässt Excel weit hinter sich. Sieh dir Introduction to Relational Databases in Python für einen guten Einstieg an.

Daten bereinigen

Unabhängig von Visualisierungen bin ich überzeugt: Daten gehören in saubere, ordentlich formatierte und beschriftete Tabellen. Pandas bietet hervorragende Möglichkeiten zur Bereinigung und für ansprechend formatierte Tabellen. Die Styling-Seite der offiziellen pandas-Website ist mein Favorit fürs Formatieren von DataFrames. Mit wenigen Zeilen Code legst du Dezimalstellen fest, formatierst Zahlen, fügst Zeilen- und bedingte Formatierungen hinzu – und der Prozess ist beliebig oft reproduzierbar. Bestimmte Teile der Datenbereinigung unabhängig von der Datenmenge zu automatisieren, hat mir unzählige Stunden gespart.

Klar: Auch in Excel kannst du Daten bereinigen. Es gibt viele eingebaute Tools – und genau das musste ich jedes Mal tun, wenn ich die Daten (endlich) geladen hatte. Es war überwiegend manuell, mit zu vielen Mausklicks, fehleranfällig und zeitaufwendig. Selbst wenn du extrem versiert bist, passieren Fehler. Man kann per Formeln, Makros und VBA beschleunigen (gleich mehr dazu) – aber es ist weit von einer idealen Lösung entfernt.

Daten analysieren

Deutlich und direkt: Beim Analysieren ist pandas Excel haushoch überlegen. Ein fairer Vergleich ist kaum möglich. In Excel kannst du Formeln schreiben und eingebaute Funktionen nutzen – das habe ich jahrelang getan und es zum Laufen gebracht. Ich habe Excel-Datenanalyse unterrichtet, sie oft empfohlen und sogar einen Statistik-Kurs mit Excel als Hauptwerkzeug belegt. Ich sage nicht, dass Analyse damit unmöglich ist. Aber im Vergleich mit pandas ist es wie Bleistift und Papier gegen einen Taschenrechner – eine ganz andere Liga.

Im August letzten Jahres meldete Kaggle, dass Python R in der Data Science überholt hat, und im Dezember nannte Quartz pandas das „wichtigste Werkzeug der Data Science“. Mehr muss man dazu nicht sagen.

Makros und VBA

2012 war ich noch aktiver Soldat und hatte einen Routinezahnarzttermin in Fort Bliss, El Paso, Texas. Der Zahnarzt meinte, meine Weisheitszähne müssten raus – und weil er Zeit hatte, hat er es direkt mit lokaler Betäubung gemacht. Es war eine Horror-Erfahrung und ich hatte tagelang Schmerzen. Wenn ich wählen müsste, das zu wiederholen oder mit Excel-Makros bzw. Visual Basic zu arbeiten – ich würde wohl eher nochmal Zähne ziehen lassen.

Es gibt viele Leute, die darin extrem gut sind, und ich habe Beeindruckendes mit cleveren VBA-Skripten gesehen – Chapeau. Ich bin kein Fan und empfehle es niemandem, wenn es eine Alternative mit Python gibt. Python ist als VBA-Ersatz so beliebt, dass Microsoft erwägt, Python offiziell als Skriptsprache in Excel aufzunehmen.

Aber ich muss Excel trotzdem verwenden

So gerne ich alles in Python machen würde – in meiner Situation ist das nicht praktikabel. Die Ergebnisse meiner Analysen müssen vorerst in Excel geliefert werden. Zum Glück gibt es Pakete wie OpenPyXl und XlsxWriter, die genau dafür gemacht sind. Ich nutze XlsxWriter täglich, um DataFrames in sehr professionelle Excel-Reports zu verwandeln – ganz ohne Formeln, Makros oder VBA. Visualisierungen kann es auch.

Apropos Visualisierung ...

Schluss mit langweiligen Grafiken

Ich war nie ein Visualisierungsjunkie. Mir lagen Reihen und Spalten mit Hervorhebungen wichtiger Bereiche – vielleicht mal ein Balkendiagramm. Excel bietet viele Visualisierungsoptionen, aber mein Repertoire beschränkte sich auf gestapelte Flächen-, Balken- und Liniendiagramme. Daten markieren, „Diagramm einfügen“, Typ auswählen, etwas filtern, Titel dazu – fertig.

Zur Einordnung: Excel hat massig Optionen zur Anpassung, aber der Prozess ist mühsam und die Lernkurve steil. Ich mag das Erstellen von Diagrammen in Excel immer noch nicht – mit Python ist es eine andere Geschichte.

Inzwischen bin ich überzeugter Visualisierungsfan und investiere viel in starke Visualisierungen für die Analyse. Durch DataCamp-Kurse und Bibliotheken wie Matplotlib und Bokeh habe ich die eigentliche Kraft und den Zweck von Visualisierungen verstanden. Mit Matplotlib erstellst du Visualisierungen direkt aus pandas oder per pyplot-Import. Die Palette in pyplot ist riesig, und praktisch jeder Aspekt eines Plots ist anpassbar. Introduction to Data Visualization With Python zeigt exzellente Visualisierungen mit Matplotlib.

So gut Matplotlib ist – mir fehlte teilweise Interaktivität. Ich wollte auswählen, zoomen, hovern, sortieren und filtern – ohne react.js oder D3 zu lernen. Python zu lernen macht mir bis heute Spaß, JavaScript ist nicht mein Ding. Zum Glück helfen Bokeh und Dash.

Bokeh, unterstützt von Anaconda, verbindet D3.js und Python zu voll interaktiven Grafiken, die als eigenständige HTML-Dokumente exportiert, in Webseiten eingebettet oder auf einem Bokeh-Server betrieben werden können. Die Lernkurve ist steiler als bei Matplotlib, aber die Ergebnisse lohnen sich – ein Blick in die Gallery überzeugt. Ich bin bei weitem noch nicht so gut in Bokeh, wie ich es sein will, aber seit der ersten Lektion von Interactive Data Visualization With Bokeh gehört es zu meinen Favoriten. Wenn Bokeh nicht passt, gibt es Dash von Plotly.

Dash ist ein weiteres freies Open-Source-Visualisierungstool für Python, das auf React.js statt D3 setzt. Ich habe Dash erst kürzlich entdeckt – es erzeugt ebenfalls großartige, interaktive Visualisierungen, ohne eine Zeile JavaScript. Ein direkter Vergleich mit Bokeh ist schwer – beide liefern starke Ergebnisse. Einziger Haken für mich: Ich habe die Visualisierungen bisher nur auf einem Dash-Server zum Laufen gebracht, nicht als eingebettete Standalone-Dokumente, HTML-Seiten oder in Jupyter Notebooks. Trotzdem: Das Potenzial ist groß, wie die Gallery zeigt.

Zeit sparen mit Scheduling und Automatisierung

Im Sommer 2014 hatten wir in meiner damaligen Organisation ein Problem. In der Army Reserve wird vieles über Kennzahlen gesteuert, zusammengefasst unter „Readiness“ – dem Anteil an Personal in einer Einheit, das einsatzbereit wäre. Die Zahl ergibt sich aus mehreren Datenkategorien wie Gesundheit, Zahnstatus, Ausbildung, Fitness und einer ganzen Reihe weiterer Werte. Die konkrete Zahl kann ich hier nicht nennen, aber unsere lag deutlich unter dem Soll.

Meine Lösung war ein mehrseitiger Excel-Report mit mehreren Tabellen und Diagrammen, aggregiert aus verschiedenen Personaldatenbanken. Enthalten waren Summaries zur Organisation, Detailinfos zu jeder einzelnen Person in jeder Kategorie und Projektionen, wo die Zahl in drei Monaten liegen würde, basierend auf den aktuellen Maßnahmen der Woche. Das war ein großer Erfolg – unsere Readiness stieg deutlich und blieb lange hoch.

Aber: Es war ein riesiger Aufwand. Ich kam montags früh ins Büro, zog die Informationen manuell aus allen Quellen, bereinigte die Daten und kopierte sie in den Wochenreport. Anschließend verbrachte ich mindestens eine Stunde mit Prüfungen und weiterer Bereinigung. Dann ging der Report per E-Mail ans Admin-Team zur Validierung und für Updates, die noch nicht in den Datenbanken waren. Im Schnitt dauerte es drei Tage, bis der Report verschickt war. Der Aufwand an Arbeitsstunden war übertrieben – und unnötig.

Mit ein bisschen Python hätte ich alle Datenquellen automatisch abgreifen, alles in pandas-DataFrames zusammenführen, den kompletten Report nach Excel schreiben und automatisch ans Admin-Team mailen können. Das Beste: Das Ganze hätte man auf Montag 00:01 terminieren können – und unzählige Stunden gespart. Unter Linux ist es extrem einfach, Python-Skripte via crontab zeitgesteuert auszuführen. In meinem aktuellen Job arbeiten wir mit so vielen Systemen, dass crontab essenziell ist – Scheduling gehört zum Handwerkszeug. Musst du also nächtlich um Mitternacht Daten ziehen und in einen Report schreiben, ist crontab auf Linux der Weg.

Ich mag Linux, aber den Großteil meiner Arbeit mache ich unter Windows – und das ist mein bevorzugtes System. Dort hast du verschiedene Optionen fürs Scheduling: den Windows Task Scheduler, Schtask.exe oder PowerShell. Damit kannst du Skripte in Nebenzeiten laufen lassen, wenn Ressourcen frei sind, oder direkt nach einem Daten-Update. Diese Option hätte ich mir damals gewünscht.

Mein Lieblingstool: Jupyter Notebooks

Nach so vielen Jahren mit Excel war Python zu lernen, als hätte ich mein Leben lang nur eine Zange gehabt und plötzlich stünde mir ein kompletter Werkzeugkoffer glänzender Tools zur Verfügung. Jedes hat seinen Zweck – aber wenn ich eines am meisten nutze, dann Jupyter Notebooks. Alles, was ich in Python schreibe, entsteht in einem Notebook – entweder zur direkten Nutzung oder als Grundlage für ein eigenständiges Skript. Jupyter ist ideal zum Schreiben von Funktionen, Testen von Code, explorativer Datenanalyse und sogar zur Präsentation des Endprodukts. Du kannst damit sogar Blogposts schreiben (wie diesen) oder auf GitHub Pages veröffentlichen. Viele DataCamp-Tutorials sind genau so entstanden.

Warum erwähne ich das in einer Diskussion über Excel?

Jupyter Notebooks können das Endprodukt deiner Analyse sein – statt Excel. Du schreibst den Code, zeigst pandas-DataFrames, Visualisierungen und Fazit auf einer Seite, die sich per Klick in HTML umwandeln lässt. Eines meiner persönlichen Ziele ist es, komplett von Excel wegzukommen und stattdessen Jupyter Notebooks für Reports zu nutzen. Das wird mit der Veröffentlichung von JupyterLab noch realistischer. Zusammen mit Widgets verwandelst du ein Notebook in eine interaktive Analyseanwendung.

Fazit

Ich nutze Excel weiterhin täglich – es ist ein starkes Tool und in vielen Organisationen fest verankert, auch in meiner. Fast alle kennen es und können damit Informationen konsumieren und einfache Analysen machen. Was viele nicht wissen: Die gleiche Analyse mit pandas und Python ist nicht nur effizienter – sie ist einfacher.

Mein Ziel ist es, bis zum Jahresende vollständig von Excel wegzukommen – mit den Tools aus diesem Artikel werde ich das schaffen. Über Nacht wirst du keine Expertin bzw. kein Experte – aber das gilt auch für Excel. Ich hoffe, dieser Beitrag motiviert dich, Excel hinter dir zu lassen und die genannten Tools auszuprobieren. Du arbeitest damit effizienter, produktiver und beschleunigst deinen gesamten Workflow.

Themen
Python
Tabellenkalkulationen

Python-Kurse

Kurs

Importing Data in Python (Fortgeschritten)

2 Std.
214.2K
Vertiefe deine Kenntnisse zum Datenimport in Python und erlerne den Umgang mit Web- und API-Daten.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow