Curso
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. 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. 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 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. 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. 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 estilogrid
.
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. 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 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
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.