Pular para o conteúdo principal

Tabulação Python: Um guia completo

Use a biblioteca tabulate em Python para criar tabelas bem formatadas. Saiba mais sobre seus recursos avançados e opções para personalizar a aparência da tabela.
Actualizado 15 de jan. de 2025  · 8 min de leitura

Dados tabulares referem-se a dados estruturados em linhas e colunas. Estruturar os dados dessa forma é importante porque facilita a interpretação do resultado. Em Python, podemos criar dados tabulares de boa aparência usando a biblioteca tabulate. A biblioteca tabulate é fácil de usar e se tornou uma das ferramentas preferidas de cientistas de dados, analistas e desenvolvedores que precisam criar tabelas formatadas de forma limpa para apresentação.

Se você está começando como analista ou cientista de dados, recomendo que faça o curso Introdução ao Python do DataCamp para aprender os fundamentos da linguagem Python, incluindo funções e pacotes. 

O que é o Python Tabulate?

O pacote tabulate em Python cria tabelas bem formatadas a partir de várias fontes de dados. Os principais casos de uso do pacote tabulate incluem o seguinte:

  • Exibição de dados em interfaces de linha de comando (CLIs): O pacote tabulate ajuda os desenvolvedores a exibir tabelas formatadas de forma legível no terminal ou no console.

  • Jupyter Notebooks: A função tabulate() ajuda a exibir tabelas bonitas nos Jupyter Notebooks.

  • Aplicativos da Web: O pacote tabulate ajuda os desenvolvedores a exibir tabelas em formato HTML em aplicativos da Web.

Alguns dos principais recursos da biblioteca tabulate incluem o seguinte:

  • Vários formatos de saída: O pacote tabulate permite a saída de tabelas em diferentes formatos, incluindo texto simples, HTML, LaTeX e outros; portanto, os usuários podem escolher de acordo com o caso de uso.

  • Alinhamento automático de colunas: tabulate Alinha automaticamente as colunas de diferentes tipos de dados, incluindo strings, números e outros.

  • Manipulação de várias estruturas de dados: tabulate manipula dicionários, listas, DataFrames do pandas e matrizes do NumPy.

Como instalar o Tabulate em Python

Você pode usar o gerenciador de pacotes pip para instalar o pacote tabulate no Python. Em seu terminal ou prompt de comando, digite e execute o seguinte prompt:

pip install tabulate

Se quiser instalar o pacote para um único usuário sem exigir privilégios administrativos, você poderá usar o sinalizador –user conforme mostrado abaixo.

pip install --user tabulate

Você pode criar um novo ambiente virtual usando o seguinte comando ao executar scripts em um ambiente virtual.

python -m venv myenv

Para ativar o ambiente virtual, execute os seguintes comandos:

Para Windows:

myenv\Scripts\activate

Para macOS/Linux:

source myenv/bin/activate

Se a instalação for bem-sucedida, você poderá executar o seguinte código no editor Python para verificar o número da versão do pacote tabulate no ambiente Python.

import tabulate
print(tabulate.__version__)

Se você descobrir que suas ferramentas precisam ser atualizadas, leia nosso guia: Como atualizar o Python e o Pip no Windows, MacOS e Linux.

Usos básicos do Python Tabulate

Os exemplos abaixo mostram o uso básico do pacote tabulate para criar tabelas formatadas.

Criação de tabelas simples

A maneira mais simples de usar a função tabulate() para criar tabelas é fornecendo uma lista de listas. Os principais argumentos na sintaxe da função tabulate() incluem o seguinte:

  • tabular_data: Os dados a serem formatados, como uma lista de listas ou dicionários.

  • headers: Os cabeçalhos a serem fornecidos na tabela. Se você omitir, a tabela não terá cabeçalhos.

  • tablefmt: O formato de saída da tabela, como “plain”, “pipe”, “grid”, ou “html”.

O exemplo abaixo mostra como você pode usar a função tabulate() para criar uma tabela em formato de grade.

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

Tabela formatada em grade usando o Python tabulate.

Tabela formatada em grade usando o Python tabulate. Imagem do autor.

Confira nossa trilha de habilidades Python Fundamentals para saber mais sobre listas e outras estruturas de dados em Python.

Exibindo dados de DataFrames do pandas

O DataFrame do pandas é uma estrutura de dados comum no Python que lida com dados tabulares. Usando a biblioteca tabulate, você pode formatar os dados tabulares em diferentes formatos, de acordo com as especificações necessárias. O exemplo a seguir mostra como você pode exibir uma tabela usando o formato ‘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)

Saída da tabela usando o estilo de formatação pipe na função tabulate do Python.

Saída da tabela usando o estilo de formatação pipe na função tabulate() do Python. Imagem do autor.

Usando o mesmo DataFrame, df, você pode exibir a saída da tabela em formato de grade.

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

Saída da tabela usando o estilo de formatação de grade na função tabular do Python.

Saída da tabela usando o estilo de formatação de grade na função tabulate() do Python. Imagem do autor.

Recursos avançados do Python Tabulate

A biblioteca tabulate oferece recursos avançados que permitem que você personalize a aparência de tabelas complexas. Vamos discutir alguns desses recursos.

Personalização da aparência da tabela

A biblioteca tabulate oferece diferentes maneiras de personalizar a aparência da tabela, como ajustar o alinhamento, definir a largura das colunas e usar diferentes formatos de tabela. A seguir, você encontrará algumas das principais opções de formatação.

  • numalign: Controla o alinhamento das colunas numéricas. Os valores aceitáveis são "left", "center" e "right".

  • stralign: Controla o alinhamento das colunas de strings. Os valores aceitáveis são "left", "center" e "right".

  • colalign: Permite o alinhamento específico de colunas individuais, fornecendo uma lista de opções de alinhamento.

O exemplo abaixo mostra a aplicação dessas opções de formatação.

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)

Saída de tabela personalizada usando o Python tabulate.

Saída de tabela personalizada usando o Python tabulate. Imagem do autor.

Manuseio de células com várias linhas

A biblioteca tabulate também permite que você manipule dados de texto que excedam a largura típica da coluna. O argumento maxcolwidths especifica a largura máxima de cada célula na tabela de saída para gerenciar a quebra de texto dentro das células. Essa funcionalidade permite que você exiba informações longas de uma forma mais legível.

No exemplo abaixo, maxcolwidths está definido como 30 caracteres para envolver os dados de texto em várias linhas se eles excederem o número especificado de caracteres.

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

A saída da tabela manipula várias linhas usando o tabulate do Python.

A saída da tabela manipula várias linhas usando o tabulate do Python. Imagem do autor.

Usando o utilitário de linha de comando

A biblioteca tabulate oferece um utilitário de linha de comando para ajudar você a exibir tabelas diretamente da linha de comando ou do terminal. Esse utilitário de linha de comando permite que você gere as tabelas sem escrever código Python adicional.

Suponha que você tenha um arquivo CSV chamado data.csv. Você usará o prompt de comando a seguir para gerar uma tabela usando tabulate.

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

Onde:

  • cat data.csv lê o conteúdo do arquivo CSV.

  • -d , especifica o delimitador (vírgula para CSV).

  • -f grid define o formato de saída para o estilo grid.

Exemplos práticos e casos de uso

Nesta seção, exploraremos os diferentes casos de uso da biblioteca tabulate para exibir tabelas em Python.

Exibição de dados de vendas

Suponha que você tenha os seguintes dados de vendas.

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

Você pode exibir os dados em uma tabela usando o 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)

Saída de tabela usando a formatação fancy_grid no Python tabulate.

Saída de tabela usando a formatação fancy_grid no Python tabulate. Imagem do autor.

Você também pode exibir os dados no formato HTML, definindo tablefmt como html.

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

print(table_html)

Saída:

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

A saída da tabela HTML é útil em integrações da Web se você quiser incorporar a saída da tabela em sites. Você também pode personalizar ainda mais a saída da tabela HTML usando CSS para ter uma aparência mais atraente para o usuário.

Integração com o Jupyter Notebooks

A biblioteca tabulate pode ser facilmente integrada aos Jupyter Notebooks para facilitar a apresentação dos dados. O exemplo abaixo mostra como criar um DataFrame de amostra em um Jupyter Notebook e exibi-lo em uma tabela em formato de grade.

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

Saída de tabela dos dados exibidos usando o Python tabulate integrado ao Jupyter Notebook.

Saída de tabela usando o Python tabulate integrado a um Jupyter Notebook. Imagem do autor.

A vantagem de usar a biblioteca tabulate em um ambiente Jupyter é que ela melhora a legibilidade e a comparação de dados, especialmente para tarefas de análise de dados.

Conclusão

A biblioteca tabulate é importante para que você crie tabelas bem formatadas em Python. Como você viu, ele também oferece flexibilidade para uso em diferentes ambientes, como Jupyter Notebooks, linhas de comando e aplicativos da Web, incluindo opções para a saída, como HTML. 

Se você quiser aprimorar suas habilidades em Python, recomendo enfaticamente que confira o curso de habilidades em programação Python do DataCamp. Também recomendo que você confira nossas carreiras de Desenvolvedor Python e Analista de Dados com Python para ajudá-lo a desenvolver habilidades relevantes para o trabalho e se tornar um analista de dados proficiente. Além disso, se você gosta de trabalhar com tabelas em Python, experimente o curso Introduction to Databases in Python do DataCamp para saber mais sobre o uso de SQL com Python. Por fim, clique abaixo para se tornar um cientista de aprendizado de máquina em Python, se você se sentir pronto para essa etapa empolgante.

Aprimoramento de IA para iniciantes

Aprenda os fundamentos da IA e do ChatGPT do zero.
Aprenda IA de graça

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Eu crio artigos que simplificam a ciência e a análise de dados, tornando-as fáceis de entender e acessíveis.

Perguntas frequentes

O que é a biblioteca tabulate em Python?

A biblioteca tabulate cria tabelas bem formatadas a partir de diferentes estruturas de dados em Python.

Como faço para instalar a biblioteca tabulate?

Para instalar a biblioteca tabulate, use o comando pip install tabulate.

Quais formatos de saída são compatíveis com a biblioteca tabulate do Python?

A biblioteca tabulate oferece suporte a saídas de tabelas em texto simples, HTML, grade, LaTeX, Markdown e outros formatos.

Quais estruturas de dados são compatíveis com a biblioteca tabulate?

A biblioteca tabulate pode ser usada para criar saídas de tabela a partir das seguintes estruturas de dados: Lista de listas, lista de dicionários, dicionário de iteráveis, arrays bidimensionais NumPy e Pandas DataFrames.

A biblioteca tabulate pode ser usada diretamente na linha de comando?

O Tabulate fornece um utilitário de linha de comando para gerar tabelas diretamente do terminal sem escrever todo o código Python.

Temas

Aprenda com a DataCamp

curso

Python Toolbox

4 hr
287.1K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

30 min

tutorial

Introdução à plotagem com Matplotlib em Python

Este tutorial demonstra como usar o Matplotlib, uma poderosa biblioteca de visualização de dados em Python, para criar gráficos de linha, barra e dispersão com dados do mercado de ações.

Kevin Babitz

25 min

tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

Tipos de gráficos de dados e como criá-los em Python

Explore vários tipos de gráficos de dados, desde os mais comuns até os avançados e não convencionais, o que eles mostram, quando usá-los, quando evitá-los e como criá-los e personalizá-los em Python.
Elena Kosourova's photo

Elena Kosourova

21 min

tutorial

Gráficos de linhas no MatplotLib com Python

Este tutorial prático se aprofunda na criação e na personalização de gráficos de linhas com o Matplotlib, uma biblioteca avançada de visualização de dados em Python.
Arunn Thevapalan's photo

Arunn Thevapalan

11 min

Ver maisVer mais