Direkt zum Inhalt

Python Tabulate: Ein vollständiger Leitfaden

Verwende die Tabulate-Bibliothek in Python, um gut formatierte Tabellen zu erstellen. Erfahre mehr über die erweiterten Funktionen und die Optionen zur Anpassung des Erscheinungsbildes der Tabellen.
Aktualisierte 15. Jan. 2025  · 8 Min. Lesezeit

Tabellarische Daten beziehen sich auf strukturierte Daten in Zeilen und Spalten. Diese Art der Datenstrukturierung ist wichtig, weil sie die Interpretation der Ergebnisse erleichtert. In Python können wir mit der Bibliothek tabulate schöne tabellarische Daten erstellen. Die tabulate Bibliothek ist einfach zu bedienen und hat sich zu einem der bevorzugten Werkzeuge für Datenwissenschaftler, Analysten und Entwickler entwickelt, die sauber formatierte Tabellen für die Präsentation erstellen müssen.

Wenn du als Datenanalyst/in oder Datenwissenschaftler/in anfängst, empfehle ich dir den Kurs Einführung in Python von DataCamp, um die Grundlagen der Sprache Python, einschließlich Funktionen und Pakete, zu erlernen. 

Was ist Python Tabulate?

Das Paket tabulate in Python erstellt gut formatierte Tabellen aus verschiedenen Datenquellen. Die wichtigsten Anwendungsfälle des tabulate Pakets sind die folgenden:

  • Anzeige von Daten in Befehlszeilenschnittstellen (CLIs): Das Paket tabulate hilft Entwicklern, formatierte Tabellen auf dem Terminal oder der Konsole lesbar darzustellen.

  • Jupyter Notebooks: Die Funktion tabulate() hilft dabei, schöne Tabellen in Jupyter Notebooks anzuzeigen.

  • Webanwendungen: Das Paket tabulate hilft Entwicklern, Tabellen im HTML-Format in Webanwendungen anzuzeigen.

Zu den wichtigsten Funktionen der Bibliothek tabulate gehören die folgenden:

  • Mehrere Ausgabeformate: Das Paket tabulate ermöglicht die Ausgabe von Tabellen in verschiedenen Formaten, wie z. B. einfachem Text, HTML, LaTeX und anderen; die Nutzer können also je nach Anwendungsfall wählen.

  • Automatische Spaltenausrichtung: tabulate Richtet automatisch die Spalten verschiedener Datentypen aus, darunter Strings, Zahlen und andere.

  • Umgang mit verschiedenen Datenstrukturen: tabulate Umgang mit Wörterbüchern, Listen, Pandas DataFrames und NumPy-Arrays.

So installierst du Tabulate in Python

Du kannst den pip Paketmanager verwenden, um das tabulate Paket in Python zu installieren. Gib in deinem Terminal oder in der Eingabeaufforderung die folgende Eingabeaufforderung ein und führe sie aus:

pip install tabulate

Wenn du das Paket für einen einzelnen Benutzer installieren möchtest, ohne administrative Rechte zu benötigen, kannst du das –user Flag wie unten gezeigt verwenden.

pip install --user tabulate

Du kannst mit dem folgenden Befehl eine neue virtuelle Umgebung erstellen, wenn du Skripte in einer virtuellen Umgebung ausführst.

python -m venv myenv

Um die virtuelle Umgebung zu aktivieren, führst du die folgenden Befehle aus:

Für Windows:

myenv\Scripts\activate

Für macOS/Linux:

source myenv/bin/activate

Wenn die Installation erfolgreich war, kannst du den folgenden Code in deinem Python-Editor ausführen, um die Versionsnummer des Pakets tabulate in der Python-Umgebung zu überprüfen.

import tabulate
print(tabulate.__version__)

Wenn du feststellst, dass deine Werkzeuge aktualisiert werden müssen, lies unseren Leitfaden: Wie man Python und Pip unter Windows, MacOS und Linux aktualisiert.

Grundlegende Verwendungszwecke von Python Tabulate

Die folgenden Beispiele zeigen die grundlegende Verwendung des Pakets tabulate, um formatierte Tabellen zu erstellen.

Einfache Tabellen erstellen

Die einfachste Art, Tabellen mit der Funktion tabulate() zu erstellen, ist die Bereitstellung einer Liste von Listen. Die Schlüsselargumente in der Syntax der Funktion tabulate() sind die folgenden:

  • tabular_data: Die zu formatierenden Daten, z. B. eine Liste von Listen oder Wörterbüchern.

  • headers: Die Überschriften, die in der Tabelle angegeben werden müssen. Wenn du das nicht tust, hat die Tabelle keine Überschriften.

  • tablefmt: Das Ausgabeformat der Tabelle wie “plain”, “pipe”, “grid” oder “html”.

Das folgende Beispiel zeigt, wie du mit der Funktion tabulate() eine Tabelle im Gitterformat erstellen kannst.

# Import the tabulate module
from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, "Engineer"],
    ["Bob", 30, "Data Scientist"],
    ["Charlie", 28, "Teacher"]
]

# Creating a table with headers and a grid format
table = tabulate(
    data, 
    headers=["Name", "Age", "Profession"], 
    tablefmt="grid"
)

print(table)

Rasterformatierte Tabelle mit Python tabulate.

Rasterformatierte Tabelle mit Python tabulate. Bild vom Autor.

In unserem Lernpfad Python Grundlagen erfährst du mehr über Listen und andere Datenstrukturen in Python.

Anzeige von Daten aus Pandas DataFrames

Der DataFrame von Pandas ist eine gängige Datenstruktur in Python, die tabellarische Daten verarbeitet. Mit der Bibliothek tabulate kannst du die tabellarischen Daten in verschiedenen Formaten nach den gewünschten Vorgaben formatieren. Das folgende Beispiel zeigt, wie du eine Tabelle im Format ‘pipe’ anzeigen kannst.

# Import libraries
import pandas as pd
from tabulate import tabulate

# Sample DataFrame
df = pd.DataFrame({
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [24, 30, 28],
    "Profession": ["Engineer", "Data Scientist", "Teacher"]
})

# Displaying the DataFrame as a formatted table
table = tabulate(
    df, 
    headers='keys', 
    tablefmt='pipe'
)

print(table)

Ausgabe von Tabellen unter Verwendung des Pipe-Formatierungsstils in der Python-Funktion tabulate.

Ausgabe von Tabellen unter Verwendung des Pipe-Formatierungsstils in der Python-Funktion tabulate(). Bild vom Autor.

Mit demselben DataFrame, df, kannst du die Ausgabe der Tabellen im Gitterformat anzeigen.

print(tabulate(df, headers='keys', tablefmt='grid'))

Ausgabe von Tabellen mit der Python-Funktion tabulate unter Verwendung des Formatierungsstils grid.

Ausgabe von Tabellen mit der Python-Funktion tabulate() unter Verwendung des Formatierungsstils grid. Bild vom Autor.

Erweiterte Funktionen von Python Tabulate

Die Bibliothek tabulate bietet erweiterte Funktionen, mit denen du das Aussehen komplexer Tabellen anpassen kannst. Lass uns einige dieser Funktionen besprechen.

Anpassen des Aussehens der Tabelle

Die Bibliothek tabulate bietet verschiedene Möglichkeiten, das Aussehen von Tabellen anzupassen, z. B. die Ausrichtung, die Spaltenbreite und die Verwendung verschiedener Tabellenformate. Im Folgenden findest du einige der wichtigsten Formatierungsoptionen.

  • numalign: Steuert die Ausrichtung von numerischen Spalten. Akzeptable Werte sind "left", "center" und "right".

  • stralign: Steuert die Ausrichtung von String-Spalten. Akzeptable Werte sind "left", "center" und "right".

  • colalign: Ermöglicht die spezifische Ausrichtung einzelner Spalten, indem es eine Liste von Ausrichtungsoptionen bereitstellt.

Das folgende Beispiel zeigt die Anwendung dieser Formatierungsoptionen.

from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, 1200.50],
    ["Bob", 30, 3500.75],
    ["Charlie", 28, 2500.00]
]

# Customizing table appearance
table = tabulate(
    data,
    headers=["Name", "Age", "Salary"],
    tablefmt="fancy_grid",
    numalign="right",
    stralign="center",
    colalign=("center", "center", "right")
)

print(table)

Benutzerdefinierte Tabellenausgabe mit Python tabulate.

Benutzerdefinierte Tabellenausgabe mit Python tabulate. Bild vom Autor.

Umgang mit mehrzeiligen Zellen

Mit der Bibliothek tabulate kannst du auch Textdaten verarbeiten, die die typische Spaltenbreite überschreiten. Das Argument maxcolwidths gibt die maximale Breite jeder Zelle in der Ausgabetabelle an, um den Textumbruch innerhalb der Zellen zu steuern. Mit dieser Funktion kannst du lange Informationen besser lesbar darstellen.

Im folgenden Beispiel ist maxcolwidths auf 30 Zeichen eingestellt, damit die Textdaten in mehrere Zeilen umgebrochen werden, wenn sie die angegebene Anzahl von Zeichen überschreiten.

# Import tabulate library
from tabulate import tabulate

# Sample text data
data = [
    ["Alice", "Lorem ipsum dolor sit amet, consectetur adipiscing elit."],
    ["Bob", "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."],
    ["Charlie", "Ut enim ad minim veniam, quis nostrud exercitation ullamco."]
]

# Creating a table with multiline cells
table = tabulate(
    data,
    headers=["Name", "Description"],
    tablefmt="grid",
    maxcolwidths=[None, 30]  # Set maximum width for the Description column
)

print(table)

Tabellenausgabe mit mehreren Zeilen mit Python tabulate.

Tabellenausgabe mit mehreren Zeilen mit Python tabulate. Bild vom Autor.

Verwendung des Kommandozeilenprogramms

Die Bibliothek tabulate bietet ein Kommandozeilenprogramm, mit dem du Tabellen direkt über die Kommandozeile oder das Terminal anzeigen kannst. Mit diesem Kommandozeilenprogramm kannst du die Tabellen erstellen, ohne zusätzlichen Python-Code zu schreiben.

Angenommen, du hast eine CSV-Datei mit dem Namen data.csv. Du verwendest die folgende Eingabeaufforderung, um mit tabulate eine Tabelle zu erstellen.

cat data.csv | tabulate -d , -f grid

Wo:

  • cat data.csv liest den Inhalt der CSV-Datei.

  • -d , gibt das Begrenzungszeichen an (Komma für CSV).

  • -f grid setzt das Ausgabeformat auf grid style.

Praktische Beispiele und Anwendungsfälle

In diesem Abschnitt werden wir die verschiedenen Anwendungsfälle der tabulate Bibliothek zur Anzeige von Tabellen in Python untersuchen.

Anzeige der Verkaufsdaten

Angenommen, wir haben die folgenden Verkaufsdaten.

# Sample sales data
sales_data = [
    ["Q1", 15000, 12000, 13000],
    ["Q2", 17000, 16000, 14500],
    ["Q3", 18000, 15000, 16000],
    ["Q4", 20000, 21000, 19000]
]

headers = ["Quarter", "Product A", "Product B", "Product C"]

Du kannst die Daten in einer Tabelle im Format fancy_grid anzeigen.

# Import tabulate library
from tabulate import tabulate

# Displaying sales data using the 'fancy_grid' format
table_fancy = tabulate(sales_data, headers=headers, tablefmt="fancy_grid")

print(table_fancy)

Tabellenausgabe mit fancy_grid Formatierung in Python tabulate.

Tabellenausgabe mit fancy_grid Formatierung in Python tabulate. Bild vom Autor.

Du kannst die Daten auch im HTML-Format anzeigen, indem du tablefmt auf html setzt.

# Displaying sales data using the 'html' format
table_html = tabulate(sales_data, headers=headers, tablefmt="HTML")

print(table_html)

Ausgabe:

<table>
<thead>
<tr><th>Quarter  </th><th style="text-align: right;">  Product A</th><th style="text-align: right;">  Product B</th><th style="text-align: right;">  Product C</th></tr>
</thead>
<tbody>
<tr><td>Q1       </td><td style="text-align: right;">      15000</td><td style="text-align: right;">      12000</td><td style="text-align: right;">      13000</td></tr>
<tr><td>Q2       </td><td style="text-align: right;">      17000</td><td style="text-align: right;">      16000</td><td style="text-align: right;">      14500</td></tr>
<tr><td>Q3       </td><td style="text-align: right;">      18000</td><td style="text-align: right;">      15000</td><td style="text-align: right;">      16000</td></tr>
<tr><td>Q4       </td><td style="text-align: right;">      20000</td><td style="text-align: right;">      21000</td><td style="text-align: right;">      19000</td></tr>
</tbody>
</table>

Die HTML-Tabellenausgabe ist bei Web-Integrationen nützlich, wenn du die Tabellenausgabe in Websites einbetten möchtest. Du kannst die Ausgabe der HTML-Tabellen auch mit CSS weiter anpassen, um sie für den Benutzer noch ansprechender zu gestalten.

Integration mit Jupyter Notebooks

Die tabulate Bibliothek kann leicht in Jupyter Notebooks integriert werden, um Daten einfacher zu präsentieren. Das folgende Beispiel zeigt, wie du einen DataFrame in einem Jupyter Notebook erstellst und ihn in einer Tabelle im Rasterformat anzeigst.

# Import required library
import pandas as pd
from tabulate import tabulate

# Sample student exam scores DataFrame
exam_scores_df = pd.DataFrame({
    "Student": ["Alice", "Bob", "Charlie", "David"],
    "Math": [85, 90, 78, 92],
    "Science": [88, 76, 95, 85],
    "English": [90, 88, 84, 91]
})

# Displaying the DataFrame as a formatted table using 'grid' format
table_jupyter = tabulate(exam_scores_df, headers='keys', tablefmt='grid')

print(table_jupyter)

Tabellarische Ausgabe von Daten, die mit Python tabulate, integriert in Jupyter Notebook, angezeigt werden.

Tabellenausgabe mit Python tabulate, integriert in ein Jupyter Notebook. Bild vom Autor.

Der Vorteil der tabulate Bibliothek in einer Jupyter-Umgebung ist, dass sie die Lesbarkeit und den Datenvergleich verbessert, insbesondere bei Datenanalyseaufgaben.

Fazit

Die Bibliothek tabulate ist wichtig, um schön formatierte Tabellen in Python zu erstellen. Wie du gesehen hast, bietet es auch Flexibilität für den Einsatz in verschiedenen Umgebungen, wie Jupyter Notebooks, Kommandozeilen und Webanwendungen, einschließlich Optionen für die Ausgabe, wie HTML. 

Wenn du deine Python-Kenntnisse verbessern willst, empfehle ich dir den Lernpfad Python-Programmierung von DataCamp. Ich empfehle dir auch unsere Lernpfade Python-Entwickler/in und Datenanalyst/in mit Python, die dir helfen, berufsrelevante Fähigkeiten zu erwerben, um ein/e kompetente/r Datenanalyst/in zu werden. Wenn du gerne mit Tabellen in Python arbeitest, solltest du dir die Einführung in Datenbanken in Python von DataCamp ansehen, um mehr über die Verwendung von SQL mit Python zu erfahren. Klicke unten, um Machine Learning Scientist in Python zu werden, wenn du dich bereit für diesen spannenden Schritt fühlst.

KI-Upskilling für Einsteiger

Lerne die Grundlagen von KI und ChatGPT von Grund auf.
KI kostenlos lernen

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Ich verfasse Artikel, die Datenwissenschaft und Analytik vereinfachen und leicht verständlich und zugänglich machen.

Häufig gestellte Fragen

Was ist die Tabulate Library in Python?

Die Bibliothek tabulate erstellt gut formatierte Tabellen aus verschiedenen Datenstrukturen in Python.

Wie installiere ich die Tabulate Library?

Um die Bibliothek tabulate zu installieren, verwendest du den Befehl pip install tabulate.

Welche Ausgabeformate werden von der Python-Bibliothek tabulate unterstützt?

Die Bibliothek tabulate unterstützt die Ausgabe von Tabellen in Text, HTML, Grid, LaTeX, Markdown und anderen Formaten.

Welche Datenstrukturen werden von der Tabulate Library unterstützt?

Die Bibliothek tabulate kann verwendet werden, um aus den folgenden Datenstrukturen Tabellenausgaben zu erstellen: Liste von Listen, Liste von Wörterbüchern, Wörterbuch von Iterables, zweidimensionale NumPy-Arrays und Pandas DataFrames.

Kann die Tabulate Library direkt in der Kommandozeile verwendet werden?

Tabulate ist ein Kommandozeilenprogramm, mit dem du Tabellen direkt im Terminal erstellen kannst, ohne den gesamten Python-Code zu schreiben.

Themen

Lernen mit DataCamp

Kurs

Python Toolbox

4 hr
287.1K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Mehr anzeigenMehr anzeigen