Tabellen mit Python: Diese Möglichkeiten gibt es!

von: Konstantin

aktualisiert: Sept. 28, 2024

Du willst in Python eine Tabelle erstellen? Kein Problem, denn Python bietet eine ganze Reihe an Möglichkeiten, wie du Tabellen erstellen, auslesen, oder einlesen kannst. Egal, ob du Daten aus einer Excel-Datei einlesen, eine Tabelle für die Konsole formatieren oder einfach nur ein bisschen mit Daten herumspielen willst – Python bietet dir die richtigen Tools dafür. In diesem Artikel zeige ich dir, wie du mit den Bibliotheken PrettyTable, Tabulate, pandas und openpyxl Tabellen erstellen und ausgeben kannst.

1. Tabellen in der Konsole: PrettyTable und Tabulate

Manchmal willst du einfach eine Tabelle direkt in der Konsole anzeigen. Hier kommen PrettyTable und Tabulate ins Spiel. Diese Bibliotheken sind super praktisch, wenn du schnell eine schön formatierte Tabelle erstellen möchtest.

1.1. PrettyTable

Prettty Table musst du in der Regel zunächst installieren:

pip install prettytable

Nach der erfolgreichen Installation kannst du PrettyTable importieren und verwenden. Schau dir das im Beispiel an:

from prettytable import PrettyTable

# Erstelle eine Tabelle
table = PrettyTable()

# Füge Spalten hinzu
table.field_names = ["Name", "Alter", "Beruf"]
table.add_row(["Anna", 28, "Entwicklerin"])
table.add_row(["Ben", 35, "Designer"])
table.add_row(["Clara", 23, "Managerin"])

# Drucke die Tabelle aus
print(table)

# Ausgabe:

+-------+-------+-------------+
|  Name | Alter |    Beruf    |
+-------+-------+-------------+
|  Anna |   28  | Entwicklerin|
|  Ben  |   35  |   Designer  |
| Clara |   23  |  Managerin  |
+-------+-------+-------------+

PrettyTable ist ein sehr simples Tool und eignet sich, wenn du rasch eine schön formatierte Tabelle im Terminal bzw. in der Konsole anzeigen willst. Weitere Infos zu PrettyTable findest zu z.B. in diesem Tutorial.

1.2. Tabulate

Tabulate ist eine ähnliche Bibliothek, bietet aber noch mehr Optionen für die Ausgabeformate. Falls du Tabulate nicht schon installiert hast, kannst du das Tool mit diesem Befehl installieren:

pip install tabulate

Anschließend importierst du Tabulate und verwendest es wie folgt:

from tabulate import tabulate

data = [
    ["Anna", 28, "Entwicklerin"],
    ["Ben", 35, "Designer"],
    ["Clara", 23, "Managerin"]
]

# Drucke die Tabelle im Grid-Format aus
print(tabulate(data, headers=["Name", "Alter", "Beruf"], tablefmt="grid"))

# Ausgabe:

+-------+-------+-------------+
|  Name | Alter |    Beruf    |
+-------+-------+-------------+
|  Anna |  28   | Entwicklerin|
|  Ben  |  35   |   Designer  |
| Clara |  23   |  Managerin  |
+-------+-------+-------------+

Mit Tabulate kannst du in Python also recht einfach Daten in Tabellenform darstellen. Egal, ob du eine Liste, ein Dictionary oder sogar eine Liste von Listen hast – Tabulate formatiert das für dich in eine hübsche Tabelle, die du direkt ausgeben kannst. Du kannst zwischen verschiedenen Layouts wählen, wie Grid, einfache Linien oder sogar Markdown-Format. Das Beste daran: Es ist super einfach zu benutzen und erfordert nur ein wenig Code. So hast du blitzschnell eine saubere, lesbare Tabelle! Sämtliche Details findest du hier.

Mein Tip: Probiere einfach ein wenig herum. Meine Erfahrung ist, dass sich Tabellen immer recht intuitiv aus einem Dictionary mit Listen als Values erstellen lassen. Hier kannst du die Keys einfach zu den Tabellenüberschriften machen:

from tabulate import tabulate

data = { "Umsatz" : [70, 77, 80, 90],
         "Gewinn" : [25, 32, 17, 19], 
         "Rücklagen" : [7, 10, 7, 9],
}

print(tabulate(data, headers="keys", tablefmt="presto"))

# Ausgabe:

Umsatz |   Gewinn |   Rücklagen
----------+----------+-------------
       70 |       25 |           7
       77 |       32 |          10
       80 |       17 |           7
       90 |       19 |           9

Erklärung zum Code: Hier wird das Dictionary data als Ausgangspunkt für die Tabelle verwendet. Mit headers="keys" legst du fest, dass die Schlüssel des Dictionaries als Header also Tabellenüberschriften dienen. Mit tablefmt="presto" legst du das Format der Tabelle fest. Typische Layouts sind z.B. "plain", "simple", "grid", "double_grid", "outline". Probier einfach ein wenig herum oder schau dir die vollständige Liste in der Dokumentation an. 

2. Arbeiten mit Excel-Dateien

Tabellen in der Konsole sind cool, aber manchmal musst du deine Daten auch in einer Excel-Datei speichern oder eine vorhandene Excel-Datei einlesen. Hier kommen pandas und openpyxl ins Spiel. Beides sind sehr große und umfangreiche Bibliotheken und du kannst mit ihnen viel mehr machen, als nur Tabellen ausgeben oder einlesen. Pandas ist die Allzweckwaffe, wenn es um Datenanalyse in Python geht. Openpyxl ist eine spezialisierte Bibliothek für Excel-Dateien und bietet dir mehr Kontrolle als pandas, wenn du zum Beispiel Formatierungen oder Formeln in deiner Excel-Datei ändern willst.

2.1. Excel-Dateien mit pandas einlesen und ausgeben

Es ist super einfach, eine Excel-Datei mit pandas zu laden und zu bearbeiten. Zunächst musst du aber überlegen wie du pandas installieren willst. Um es einfach mal auszuprobieren reicht eventuell pandas mit den optionalen Bibliotheken, um Excel-Dateien einzulesen und auszugeben:

pip install "pandas[excel]"

Wenn du dich näher mit Datenanalyse beschäftigen willst, bietet es sich an, dass du pandas als Teil von Anaconda installierst. Weitere offizielle Hinweise zur Installation von pandas findest du auch in der pandas Dokumentation. Wenn du pandas installiert hast, kann es losgehen! Erstelle eine simple Excel-Datei mit der Bezeichnung Daten.xlsx sowie einer Spalte mit der Überschrift "Spalte_mit_Zahlen" und lade sie:

import pandas as pd

# Excel-Datei laden
df = pd.read_excel("Daten.xlsx")

# Daten anzeigen
print(df)

# Neue Spalte hinzufügen
df["Neue_Spalte"] = df["Spalte_mit_Zahlen"] * 7

# Excel-Datei speichern
df.to_excel("Daten_mit_neuer_Spalte.xlsx", index=False)

Damit hast du eine Excel-Datei geladen, bearbeitet und wieder gespeichert. Super einfach, oder?

2.2. Excel-Dateien mit openpyxl bearbeiten

Mit openpyxl kannst du in Python Excel-Dateien erstellen, bearbeiten und auslesen. Egal, ob du neue Tabellenblätter hinzufügen, Zellen formatieren oder Formeln einfügen willst – openpyxl bietet dir die volle Kontrolle über deine Excel-Dateien. Du kannst damit sowohl bestehende Excel-Dateien laden und ändern als auch komplett neue Dateien erstellen. Es ist das perfekte Tool, wenn du regelmäßig mit Excel arbeitest und dabei die Flexibilität von Python nutzen möchtest.

Du kannst die Library mit pip installieren:

pip install openpyxl

Nach der Installation kannst du gleich loslegen. Hier ein Beispiel:

from openpyxl import Workbook

# Neues Workbook erstellen
wb = Workbook()
ws = wb.active

# Daten hinzufügen
ws.append(["Name", "Alter", "Beruf"])
ws.append(["Anna", 28, "Entwicklerin"])
ws.append(["Ben", 35, "Designer"])
ws.append(["Clara", 23, "Managerin"])

# Speichere die Excel-Datei
wb.save("Beispiel_openpyxl.xlsx")

Das ist ein sehr simples Beispiel. Richtig cool ist openpyxl wenn es darum geht Excel-Datenblätter zu formatieren und einzelne Zellen zu markieren. Im Gegensatz zu pandas kannst du mit openpyxl viele der Excel-Funktionen direkt nutzen. Ich verwende openpyxl hauptsächlich, wenn ich Excel-Datenblätter anschaulicher machen will und bestimmte Werte hervorheben oder markieren will! Dann spielt die Bibliothek ihre wirklichen Vorzüge aus!

3. Fazit: Tabellen erstellen leicht gemacht

Egal, ob du nur eine einfache Tabelle in der Konsole ausgeben oder eine komplexe Excel-Datei bearbeiten willst, Python hat die passenden Tools für dich. PrettyTable und Tabulate sind großartig für die schnelle Darstellung von Tabellen, während pandas und openpyxl dir alle Möglichkeiten bieten, die du für die Arbeit mit Excel-Dateien brauchst.

Teilen: