Accéder au contenu principal

Python Tabulate : Un guide complet

Utilisez la bibliothèque tabulate de Python pour créer des tableaux bien formatés. Découvrez ses fonctions avancées et les options permettant de personnaliser l'apparence des tableaux.
Actualisé 15 janv. 2025  · 8 min de lecture

Les données tabulaires sont des données structurées en lignes et en colonnes. Il est important de structurer les données de cette manière, car cela facilite l'interprétation des résultats. En Python, nous pouvons créer des données tabulaires d'apparence agréable en utilisant la bibliothèque tabulate. La bibliothèque tabulate est facile à utiliser et est devenue l'un des outils préférés des data scientists, des analystes et des développeurs qui ont besoin de créer des tableaux proprement formatés pour la présentation.

Si vous débutez en tant qu'analyste de données ou data scientist, je vous recommande de suivre le cours Introduction à Python de DataCamp pour apprendre les bases du langage Python, notamment les fonctions et les packages. 

Qu'est-ce que Python Tabulate ?

Le paquetage tabulate de Python permet de créer des tableaux bien formatés à partir de diverses sources de données. Les principaux cas d'utilisation du paquet tabulate sont les suivants :

  • Affichage des données dans les interfaces de ligne de commande (CLI) : Le paquetage tabulate permet aux développeurs d'afficher des tableaux formatés de manière lisible dans le terminal ou la console.

  • Jupyter Notebooks : La fonction tabulate() permet d'afficher de jolis tableaux dans les Notebooks Jupyter.

  • Applications Web : Le paquetage tabulate permet aux développeurs d'afficher des tableaux au format HTML dans les applications web.

Voici quelques-unes des principales caractéristiques de la bibliothèque tabulate:

  • Plusieurs formats de sortie : Le paquetage tabulate permet de produire des tableaux dans différents formats, y compris le texte brut, HTML, LaTeX et d'autres ; les utilisateurs peuvent donc choisir en fonction du cas d'utilisation.

  • Alignement automatique des colonnes : tabulate aligne automatiquement les colonnes de différents types de données, y compris les chaînes de caractères, les nombres et autres.

  • Manipulation de diverses structures de données : tabulate manipule des dictionnaires, des listes, des DataFrame pandas et des tableaux NumPy.

Comment installer Tabulate en Python

Vous pouvez utiliser le gestionnaire de paquets pip pour installer le paquet tabulate en Python. Dans votre terminal ou à l'invite de commande, tapez et exécutez l'invite suivante :

pip install tabulate

Si vous souhaitez installer le paquet pour un seul utilisateur sans avoir besoin de privilèges administratifs, vous pouvez utiliser l'option –user comme indiqué ci-dessous.

pip install --user tabulate

Vous pouvez créer un nouvel environnement virtuel à l'aide de la commande suivante lorsque vous exécutez des scripts dans un environnement virtuel.

python -m venv myenv

Pour activer l'environnement virtuel, exécutez les commandes suivantes :

Pour Windows :

myenv\Scripts\activate

Pour macOS/Linux :

source myenv/bin/activate

Si l'installation est réussie, vous pouvez exécuter le code suivant dans votre éditeur Python pour vérifier le numéro de version du paquet tabulate dans l'environnement Python.

import tabulate
print(tabulate.__version__)

Si vous constatez que vos outils ont besoin d'être mis à jour, lisez notre guide : Comment mettre à jour Python et Pip sous Windows, MacOS et Linux.

Utilisations de base de Python Tabulate

Les exemples ci-dessous montrent l'utilisation de base du progiciel tabulate pour créer des tableaux formatés.

Création de tableaux simples

La façon la plus simple d'utiliser la fonction tabulate() pour créer des tableaux est de fournir une liste de listes. Les arguments clés de la syntaxe de la fonction tabulate() sont les suivants :

  • tabular_data: Les données à formater, telles qu'une liste de listes ou de dictionnaires.

  • headers: Les en-têtes à fournir dans le tableau. S'il est omis, le tableau n'aura pas d'en-têtes.

  • tablefmt: Le format de sortie du tableau, tel que “plain”, “pipe”, “grid”, ou “html”.

L'exemple ci-dessous montre comment utiliser la fonction tabulate() pour créer un tableau au format grille.

# 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)

Tableau formaté en grille à l'aide de Python tabulate.

Tableau formaté en grille à l'aide de Python tabulate. Image par l'auteur.

Consultez notre cursus de compétences sur les principes fondamentaux de Python pour en savoir plus sur les listes et autres structures de données en Python.

Afficher des données à partir de DataFrame pandas

Le DataFrame de pandas est une structure de données courante en Python qui gère les données tabulaires. En utilisant la bibliothèque tabulate, vous pouvez formater les données tabulaires dans différents formats selon les spécifications requises. L'exemple suivant montre comment afficher un tableau en utilisant le format ‘pipe’.

# 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)

Sortie du tableau en utilisant le style de formatage pipe dans la fonction tabulate de Python.

Sortie du tableau en utilisant le style de formatage pipe dans la fonction Python tabulate(). Image par l'auteur.

En utilisant le même DataFrame, df, vous pouvez afficher les résultats du tableau sous forme de grille.

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

Sortie du tableau en utilisant le style de mise en forme de la grille dans la fonction tabulate de Python.

Sortie du tableau en utilisant le style de mise en forme de la grille dans la fonction Python tabulate(). Image par l'auteur.

Fonctionnalités avancées de Python Tabulate

La bibliothèque tabulate offre des fonctionnalités avancées qui vous permettent de personnaliser l'apparence de tableaux complexes. Examinons quelques-unes de ces caractéristiques.

Personnalisation de l'apparence des tableaux

La bibliothèque tabulate propose différentes façons de personnaliser l'apparence des tableaux, notamment en ajustant l'alignement, en définissant la largeur des colonnes et en utilisant différents formats de tableau. Vous trouverez ci-dessous quelques-unes des principales options de formatage.

  • numalign: Contrôle l'alignement des colonnes numériques. Les valeurs acceptables sont "left", "center", et "right".

  • stralign: Contrôle l'alignement des colonnes de la chaîne de caractères. Les valeurs acceptables sont "left", "center", et "right".

  • colalign: Permet un alignement spécifique des colonnes individuelles en fournissant une liste d'options d'alignement.

L'exemple ci-dessous illustre l'application de ces options de formatage.

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)

Sortie de tableaux personnalisés à l'aide de Python tabulate.

Sortie de tableaux personnalisés à l'aide de Python tabulate. Image par l'auteur.

Traitement des cellules multilignes

La bibliothèque tabulate vous permet également de traiter des données textuelles dépassant la largeur typique d'une colonne. L'argument maxcolwidths spécifie la largeur maximale de chaque cellule du tableau de sortie afin de gérer l'habillage du texte à l'intérieur des cellules. Cette fonctionnalité vous permet d'afficher des informations longues de manière plus lisible.

Dans l'exemple ci-dessous, la valeur de maxcolwidths est fixée à 30 caractères afin de regrouper les données textuelles sur plusieurs lignes si elles dépassent le nombre de caractères spécifié.

# 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)

Sortie d'un tableau gérant plusieurs lignes en utilisant Python tabulate.

Sortie d'un tableau gérant plusieurs lignes en utilisant Python tabulate. Image par l'auteur.

Utilisation de l'utilitaire de ligne de commande

La bibliothèque tabulate fournit un utilitaire de ligne de commande qui vous permet d'afficher des tableaux directement à partir de la ligne de commande ou du terminal. Cet utilitaire en ligne de commande vous permet de générer les tableaux sans écrire de code Python supplémentaire.

Supposons que vous disposiez d'un fichier CSV nommé data.csv. Vous utiliserez l'invite de commande suivante pour générer un tableau à l'aide de tabulate.

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

Où ?

  • cat data.csv lit le contenu du fichier CSV.

  • -d , spécifie le délimiteur (virgule pour CSV).

  • -f grid définit le format de sortie au style grid.

Exemples pratiques et cas d'utilisation

Dans cette section, nous allons explorer les différents cas d'utilisation de la bibliothèque tabulate pour afficher des tableaux en Python.

Affichage des données de vente

Supposons que nous disposions des données de vente suivantes.

# 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"]

Vous pouvez afficher les données dans un tableau en utilisant le format fancy_grid.

# 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)

Sortie d'un tableau utilisant le formatage fancy_grid dans Python tabulate.

Sortie d'un tableau utilisant le formatage fancy_grid dans Python tabulate. Image par l'auteur.

Vous pouvez également afficher les données au format HTML en paramétrant tablefmt sur html.

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

print(table_html)

Sortie :

<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>

Le tableau HTML est utile pour les intégrations web si vous souhaitez intégrer le tableau dans des sites web. Vous pouvez également personnaliser la sortie du tableau HTML à l'aide de CSS afin d'obtenir un aspect plus attrayant pour l'utilisateur.

Intégration avec Jupyter Notebooks

La bibliothèque tabulate peut facilement être intégrée aux carnets Jupyter pour faciliter la présentation des données. L'exemple ci-dessous montre comment créer un exemple de DataFrame dans un Notebook Jupyter et l'afficher dans un tableau au format grille.

# 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)

Sortie sous forme de tableau des données affichées à l'aide de Python tabulate intégré à Jupyter Notebook.

Sortie du tableau à l'aide de Python tabulate intégré à un carnet de notes Jupyter. Image par l'auteur.

L'avantage d'utiliser la bibliothèque tabulate dans un environnement Jupyter est qu'elle améliore la lisibilité et la comparaison des données, en particulier pour les tâches d'analyse des données.

Conclusion

La bibliothèque tabulate est importante pour créer des tableaux bien formatés en Python. Comme vous l'avez vu, il offre également une grande souplesse d'utilisation dans différents environnements, tels que les carnets Jupyter, les lignes de commande et les applications web, y compris des options pour la sortie, telles que HTML. 

Si vous souhaitez améliorer vos compétences en Python, je vous recommande vivement de consulter le cursus de programmation Python de DataCamp. Je vous encourage également à consulter nos cursus professionnels Développeur Python et Analyste de données avec Python, qui vous aideront à acquérir des compétences utiles à l'emploi pour devenir un analyste de données compétent. De plus, si vous aimez travailler avec des tableaux en Python, essayez l'introduction aux bases de données en Python de DataCamp pour en savoir plus sur l'utilisation de SQL avec Python. Enfin, cliquez ci-dessous pour devenir un scientifique de l'apprentissage automatique en Python, si vous vous sentez prêt pour cette étape passionnante.

L'amélioration de l'IA pour les débutants

Apprenez les bases de l'IA et du ChatGPT en partant de zéro.
Apprendre l'IA gratuitement

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Je crée des articles qui simplifient la science des données et l'analyse, en les rendant faciles à comprendre et accessibles.

Questions fréquemment posées

Qu'est-ce que la bibliothèque tabulate en Python ?

La bibliothèque tabulate crée des tableaux bien formatés à partir de différentes structures de données en Python.

Comment installer la bibliothèque tabulate ?

Pour installer la bibliothèque tabulate, utilisez la commande pip install tabulate.

Quels sont les formats de sortie pris en charge par la bibliothèque Python tabulate ?

La bibliothèque tabulate prend en charge les sorties de tableaux en texte brut, HTML, grid, LaTeX, Markdown et autres formats.

Quelles sont les structures de données prises en charge par la bibliothèque tabulate ?

La bibliothèque tabulate peut être utilisée pour créer des tableaux à partir des structures de données suivantes : Liste de listes, liste de dictionnaires, dictionnaire d'itérables, tableaux NumPy bidimensionnels et DataFrame Pandas.

La bibliothèque tabulate peut-elle être utilisée directement en ligne de commande ?

Tabulate est un utilitaire en ligne de commande qui permet de générer des tableaux directement depuis le terminal sans avoir à écrire tout le code Python.

Sujets

Apprenez avec DataCamp

cours

Python Toolbox

4 hr
287.1K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

Voir plusVoir plus