Funzionalità avanzate di Python Tabulate
La libreria tabulate offre funzionalità avanzate che ti permettono di personalizzare l'aspetto di tabelle complesse. Vediamo alcune di queste funzionalità.
Personalizzare l'aspetto della tabella
La libreria tabulate offre diversi modi per personalizzare l'aspetto delle tabelle, come regolare l'allineamento, impostare le larghezze delle colonne e usare formati di tabella diversi. Di seguito alcune delle opzioni di formattazione principali.
-
numalign: controlla l'allineamento delle colonne numeriche. Valori accettati:"left","center"e"right". -
stralign: controlla l'allineamento delle colonne di stringhe. Valori accettati:"left","center"e"right". -
colalign: consente l'allineamento specifico delle singole colonne fornendo una lista di opzioni di allineamento.
L'esempio seguente mostra l'applicazione di queste opzioni di formattazione.
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)

Output di tabella personalizzato usando Python tabulate. Immagine dell'autore.
Gestire celle multilinea
La libreria tabulate ti permette anche di gestire testi che superano la tipica larghezza di colonna. L'argomento maxcolwidths specifica la larghezza massima di ciascuna cella nella tabella di output, per gestire l'andata a capo del testo all'interno delle celle. Questa funzionalità consente di mostrare informazioni lunghe in modo più leggibile.
Nell'esempio seguente, maxcolwidths è impostato a 30 caratteri per mandare a capo i dati testuali su più righe se superano il numero di caratteri specificato.
# 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)

Output di tabella che gestisce più righe usando Python tabulate. Immagine dell'autore.
Usare l'utilità da riga di comando
La libreria tabulate fornisce un'utilità da riga di comando per aiutarti a visualizzare tabelle direttamente dal terminale. Questa utilità da riga di comando ti consente di generare le tabelle senza scrivere ulteriore codice Python.
Supponi di avere un file CSV chiamato data.csv. Userai il seguente comando per generare una tabella usando tabulate.
cat data.csv | tabulate -d , -f grid
Dove:
-
cat data.csvlegge il contenuto del file CSV. -
-d ,specifica il delimitatore (virgola per i CSV). -
-f gridimposta il formato di output allo stilegrid.
Esempi pratici e casi d'uso
In questa sezione, esploreremo i diversi casi d'uso della libreria tabulate per visualizzare tabelle in Python.
Visualizzare dati di vendita
Supponiamo di avere i seguenti dati di vendita.
# 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"]
Puoi visualizzare i dati in una tabella usando il formato 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)

Output tabellare usando la formattazione fancy_grid in Python tabulate. Immagine dell'autore.
Puoi anche visualizzare i dati in formato HTML impostando tablefmt su html.
# Displaying sales data using the 'html' format
table_html = tabulate(sales_data, headers=headers, tablefmt="HTML")
print(table_html)
Output:
<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>
L'output della tabella HTML è utile nelle integrazioni web se vuoi incorporare l'output della tabella nei siti. Puoi anche personalizzare ulteriormente la tabella HTML usando CSS per un aspetto più gradevole per l'utente.
Integrazione con Jupyter Notebook
La libreria tabulate può essere facilmente integrata con i Jupyter Notebook per una presentazione dei dati più semplice. L'esempio seguente mostra come creare un DataFrame di esempio in un Jupyter Notebook e visualizzarlo in una tabella formattata a griglia.
# 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)

Output tabellare usando Python tabulate integrato con un Jupyter Notebook. Immagine dell'autore.
Il vantaggio di usare la libreria tabulate in un ambiente Jupyter è che migliora la leggibilità e il confronto dei dati, soprattutto per i compiti di analisi.
Conclusione
La libreria tabulate è importante per creare tabelle ben formattate in Python. Come hai visto, offre anche flessibilità per l'uso in ambienti diversi, come Jupyter Notebook, riga di comando e applicazioni web, incluse opzioni per l'output come HTML.
Se vuoi far progredire le tue competenze in Python, ti consiglio vivamente di dare un'occhiata al percorso di competenze Python Programming di DataCamp. Ti incoraggio anche a esplorare i nostri percorsi professionali Python Developer e Data Analyst with Python per aiutarti a sviluppare competenze rilevanti per il lavoro e diventare un data analyst competente. Inoltre, se ti piace lavorare con le tabelle in Python, prova il corso di DataCamp Introduction to Databases in Python per imparare di più sull'uso di SQL con Python. Infine, clicca qui sotto per diventare un machine learning scientist in Python, se ti senti pronto per questo passo entusiasmante.

Domande frequenti
Che cos'è la libreria tabulate in Python?
La libreria tabulate crea tabelle ben formattate a partire da diverse strutture dati in Python.
Come installo la libreria tabulate?
Per installare la libreria tabulate, usa il comando pip install tabulate.
Quali formati di output sono supportati dalla libreria tabulate di Python?
La libreria tabulate supporta output di tabelle in testo semplice, HTML, grid, LaTeX, Markdown e altri formati.
Quali strutture dati sono supportate nella libreria tabulate?
La libreria tabulate può essere usata per creare output tabellari dalle seguenti strutture dati: lista di liste, lista di dizionari, dizionario di iterabili, array NumPy bidimensionali e DataFrame di pandas.
Si può usare la libreria tabulate direttamente dalla riga di comando?
Tabulate fornisce un'utilità da riga di comando per generare tabelle direttamente dal terminale senza scrivere tutto il codice Python.


I dati tabellari sono dati strutturati in righe e colonne. Organizzare i dati in questo modo è importante perché rende più facile interpretare l'output. In Python, possiamo creare dati tabellari gradevoli usando la libreria
tabulate. La libreriatabulateè semplice da usare ed è diventata uno degli strumenti preferiti da data scientist, analisti e sviluppatori che devono creare tabelle pulite e ben formattate per la presentazione.Se stai iniziando come data analyst o data scientist, ti consiglio il corso Introduction to Python di DataCamp per imparare le basi del linguaggio Python, incluse funzioni e pacchetti.
Cos'è Python Tabulate?
Il pacchetto
tabulatein Python crea tabelle ben formattate da varie sorgenti di dati. I principali casi d'uso del pacchettotabulateincludono i seguenti:Visualizzazione dei dati nelle interfacce a riga di comando (CLI): il pacchetto
tabulateaiuta gli sviluppatori a mostrare tabelle formattate in modo leggibile nel terminale o nella console.Jupyter Notebook: la funzione
tabulate()aiuta a mostrare belle tabelle nei Jupyter Notebook.Applicazioni web: il pacchetto
tabulateaiuta gli sviluppatori a visualizzare tabelle in formato HTML nelle applicazioni web.Alcune delle caratteristiche chiave della libreria
tabulateincludono le seguenti:Molteplici formati di output: il pacchetto
tabulateconsente l'output della tabella in diversi formati, tra cui testo semplice, HTML, LaTeX e altri; gli utenti possono quindi scegliere in base al caso d'uso.Allineamento automatico delle colonne:
tabulateallinea automaticamente le colonne di diversi tipi di dati, incluse stringhe, numeri e altri.Gestione di varie strutture dati:
tabulategestisce dizionari, liste, DataFrame di pandas e array NumPy.Come installare Tabulate in Python
Puoi usare il gestore pacchetti
pipper installare il pacchettotabulatein Python. Nel tuo terminale o prompt dei comandi, digita ed esegui il seguente comando:Se vuoi installare il pacchetto per un singolo utente senza richiedere privilegi amministrativi, puoi usare il flag
–usercome mostrato sotto.Quando esegui script in un ambiente virtuale, puoi creare un nuovo ambiente virtuale con il seguente comando.
Per attivare l'ambiente virtuale, esegui i seguenti comandi:
Per Windows:
Per macOS/Linux:
Se l'installazione ha avuto successo, puoi eseguire il seguente codice nel tuo editor Python per verificare il numero di versione del pacchetto
tabulatenell'ambiente Python.Se scopri che i tuoi strumenti necessitano di un aggiornamento, leggi la nostra guida: How to Upgrade Python and Pip in Windows, MacOS, and Linux.
Utilizzi di base di Python Tabulate
Gli esempi seguenti mostrano l'uso di base del pacchetto
tabulateper creare tabelle formattate.Creare tabelle semplici
Il modo più semplice per usare la funzione
tabulate()per creare tabelle è fornire una lista di liste. Gli argomenti chiave nella sintassi ditabulate()includono i seguenti:tabular_data: i dati da formattare, come liste di liste o dizionari.headers: le intestazioni da includere nella tabella. Se omesse, la tabella non avrà intestazioni.tablefmt: il formato di output della tabella, ad esempio“plain”,“pipe”,“grid”o“html”.L'esempio qui sotto mostra come usare la funzione
tabulate()per creare una tabella con formato grid.Tabella con formato grid usando Python tabulate. Immagine dell'autore.
Dai un'occhiata al nostro percorso di competenze Python Fundamentals per saperne di più su liste e altre strutture dati in Python.
Visualizzare dati da DataFrame di pandas
Il DataFrame di pandas è una struttura dati comune in Python che gestisce dati tabellari. Usando la libreria
tabulate, puoi formattare i dati tabellari in formati diversi secondo le specifiche richieste. Il seguente esempio mostra come visualizzare una tabella usando il formato‘pipe’.Output tabellare usando lo stile di formattazione pipe nella funzione tabulate() di Python. Immagine dell'autore.
Usando lo stesso DataFrame,
df, puoi visualizzare l'output della tabella in formato grid.Output tabellare usando lo stile di formattazione grid nella funzione tabulate() di Python. Immagine dell'autore.