Diferentes Visualizações de Tabela no Python
Aprenda sobre os diferentes tipos de visualizações de tabela no Python, como elas são e quais opções você pode utilizar.
Existem três formas principais de exibir uma tabela no Python: a função display() do Jupyter Notebook, com visual mais rico para DataFrames; o print() combinado com a biblioteca Tabulate, que formata listas, dicionários e tabelas do Pandas no terminal; e a conversão para HTML com to_html(), que abre a tabela no navegador.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A função display(), a que deixa a tabela bonita, só existe no Jupyter (.ipynb); num .py comum ela nem é reconhecida. Fora do notebook as saídas são: a biblioteca tabulate (que também formata lista de listas e dicionário, não só DataFrame) ou exportar com to_html() e abrir no navegador.
Neste vídeo (17 min):
- 1:00 - Os dois formatos:
.py, o script padrão, e.ipynb, o notebook do Jupyter que o VS Code também abre. - 2:00 - No notebook,
display(tabela)renderiza o DataFrame naquele formato de tabela limpa. - 3:00 - No
.pyo mesmo código quebra: name ‘display’ is not defined. - 3:30 - O
printfunciona, mas com muitas colunas o texto quebra a linha e a leitura se perde. - 4:30 - A alternativa:
pip install tabulateefrom tabulate import tabulate(biblioteca e função têm o mesmo nome). - 6:00 - Para lista de listas, o parâmetro
headers="firstrow"transforma a primeira linha em cabeçalho. - 7:00 - O visual muda com
tablefmt:"github"já traz separadores de coluna. - 7:30 -
tablefmt="fancy_grid"é o mais próximo de uma tabela de verdade, com células fechadas. - 8:30 - Há também
tablefmt="html", que devolve o código HTML da tabela para colar em outro lugar. - 9:30 - Para dicionário e DataFrame o cabeçalho vem de
headers="keys", e não de firstrow. - 11:00 - Limite honesto: o tabulate não se adapta à largura do terminal, com muitas colunas é melhor filtrar antes.
- 12:00 - A saída mais legível fora do notebook:
tabela.to_html("tabela.html")e abrir o arquivo no navegador. - 13:00 - Com base grande, exporte só um recorte (
tabela.head(1000)), o HTML da tabela inteira fica pesado. - 14:00 - E não adianta instalar
ipythonpara importar o display: no terminal ele cai na mesma saída do print.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Diferentes Visualizações de Tabela no Python
Na aula de hoje, eu quero te mostrar os diferentes tipos de visualizações de tabela no Python, quais são elas e como você pode utilizá-las.
Veremos a visualização de tabelas em um arquivo do Jupyter Notebook, onde faremos uso da função Display. Além disso, abordaremos a opção de utilizar a biblioteca Tabulate para arquivos .py, que são comumente usados em editores Python.
Por fim, aprenderemos como transformar uma tabela em um arquivo HTML, tornando-a mais visual e fácil para a visualização das informações no navegador.
Não se esqueça de fazer o download do material disponível, onde temos os códigos que utilizaremos como exemplo para verificar os diferentes tipos de visualizações de tabela no Python, e vamos começar!
Tipos de Arquivos .py e .ipynb
Quando trabalhamos com Python, geralmente nos deparamos com dois principais formatos de arquivos: os arquivos .py e os arquivos .ipynb.
Os arquivos com a extensão .py são os arquivos padrões de Python, e é provável que você já tenha tido contato com eles. Esses arquivos podem ser executados por qualquer interpretador Python.
Por outro lado, os arquivos com a extensão .ipynb são notebooks interativos criados usando o Jupyter Notebook. Esses arquivos são compostos por textos formatados, elementos gráficos e código executável. Isso significa que eles podem conter células com código Python, Markdown e as saídas dos códigos.
O Jupyter Notebook é amplamente utilizado em áreas como análise de dados, machine learning e ciência de dados, devido à sua versatilidade em permitir a inclusão de explicações, visualizações e código executável em um único local.
Para esta aula, vou utilizar o VS Code, pois ele permite tanto executarmos os arquivos .py, quanto os arquivos .ipynb, utilizando uma extensão do Jupyter Notebook.
Visualizações de Tabela no Python Usando Jupyter Notebook
Como mencionei anteriormente, os profissionais da área de dados costumam preferir o Jupyter Notebook por diversas razões, incluindo a facilidade de visualização das informações.
Vamos pegar um exemplo simples para entender como é feita essa visualização no Jupyter Notebook:
import pandas as pd
tabela = pd.read_csv("base.csv")
display(tabela)
Trabalhando com um arquivo .ipynb, temos à nossa disposição a função display, que é nativa dentro do Jupyter Notebook e permite a visualização característica de uma tabela.
Visualizações de Tabela no Python – Print e Tabulate
Ao contrário dos arquivos .ipynb do Jupyter Notebook, em um arquivo Python padrão com extensão .py, não temos a função display para visualizar tabelas. Nesse caso, a alternativa é printar a tabela.
import pandas as pd
tabela = pd.read_csv("base.csv")
print(tabela)
Como podemos observar, ao usar o print, não obtemos uma visualização tão bem estruturada quanto a obtida com o display. Ainda é possível visualizar e entender os dados, mas a apresentação é mais simples e dificulta a compreensão das informações.
Quando nos deparamos com essa situação, uma alternativa é usar a biblioteca Tabulate. Ela nos permite formatar as tabelas presentes em nossos arquivos. Essa formatação pode ser aplicada a tabelas do Pandas, listas de listas e até mesmo dicionários.
O primeiro passo é instalar a biblioteca executando o comando abaixo no terminal do seu editor de código:
pip install tabulateCaso você não tenha o Pandas instalado, também precisará executar o seguinte comando:
pip install pandasFeito isso, basta importar a biblioteca para o seu código:
from tabulate import tabulateAgora podemos visualizar cada um dos exemplos de visualizações com a biblioteca Tabulate. Vamos começar com uma lista de listas:
from tabulate import tabulate
lista = [
["Produto", "Preço", "Qtde"],
["Iphone", 6000, 50],
["Ipad", 10000, 15],
["Airpod", 2000, 100]
]
print(tabulate(lista, headers= 'firstrow'))
Observe que, ao usar o tabulate, fazemos um print do resultado da função tabulate, passando como parâmetros a lista que desejamos exibir e o cabeçalho (headers), que pode ser uma nova lista ou a primeira linha (firstrow) da lista que você está passando.
Além disso, é possível personalizar ainda mais o formato da sua tabela, passando para a função tabulate o parâmetro tablefmt. Esses formatos, você pode verificar na documentação da biblioteca.
from tabulate import tabulate
lista = [
["Produto", "Preço", "Qtde"],
["Iphone", 6000, 50],
["Ipad", 10000, 15],
["Airpod", 2000, 100]
]
print(tabulate(lista, headers= 'firstrow', tablefmt='fancy_grid'))
Para utilizarmos a função tabulate com um dicionário, basta fazer algumas alterações nos parâmetros que você passará. Primeiro, passe o dicionário e para o headers (cabeçalho) passa o valor de ‘keys’, já que, para um dicionário, as chaves são os cabeçalhos.
from tabulate import tabulate
dic_produtos = {
"Produto": ["Iphone", "Ipad", "Airpod"],
"Preço": [6000, 10000, 2000],
"Qtde": [50, 15, 100]
}
print(tabulate(dic_produtos, headers='keys', tablefmt='fancy_grid'))
O mesmo princípio se aplica quando estamos trabalhando com uma tabela Pandas.
from tabulate import tabulate
import pandas as pd
tabela = pd.read_csv("base.csv")
print(tabulate(tabela.head(), headers='keys', tablefmt='fancy_grid'))Como temos uma tabela muito extensa, estamos passando tabela.head() como parâmetro para visualizar apenas os primeiros elementos da tabela. No entanto, dependendo do tamanho da sua tabela, você pode passar a tabela completa.

Observe que a visualização da tabela pode ficar desorganizada, pois nossa tabela possui muitas colunas, o que ultrapassa o tamanho disponível para exibir no terminal. Mas, se a tabela for menor, a visualização funcionará normalmente. Vamos fazer isso com apenas algumas colunas:
from tabulate import tabulate
import pandas as pd
tabela = pd.read_csv("base.csv")
colunas = ["CustomerID", "idade", "sexo"]
print(tabulate(tabela[colunas].head(), headers='keys', tablefmt='fancy_grid'))
Dessa forma, conseguimos uma visualização adequada da nossa tabela. No entanto, observe que, mesmo com a tabulate, a visualização pode ser limitada, dependendo do tamanho do dataframe, e não será tão adaptável quanto a função display permite.
Visualizações de Tabela no Python – Tabela em HTML
Por fim, outra maneira de visualizar uma tabela no Python é convertendo-a em um arquivo HTML.
Dessa forma, você pode visualizar a tabela completa no seu navegador. Para tornar o exemplo mais simples, vou usar novamente tabela.head(100) para pegar apenas os 100 primeiros itens, mas você pode fazer o mesmo para a tabela completa.
from tabulate import tabulate
import pandas as pd
tabela = pd.read_csv("base.csv")
tabela.head(100).to_html("tabela.html")Ao executar este código, será gerado um arquivo chamado tabela.html, que, ao ser aberto, permitirá que você visualize a tabela diretamente no navegador do seu computador.

Perguntas frequentes
1. Como exibir um DataFrame formatado fora do Jupyter Notebook?
Em arquivos .py, a função display não existe e a saída do print é texto simples. A solução é a biblioteca Tabulate: print(tabulate(tabela, headers=’keys’, tablefmt=’fancy_grid’)) desenha a tabela com bordas no terminal. Para tabelas largas, selecione poucas colunas antes de exibir os dados.
2. Qual a diferença entre display() e print() no Python?
A display() faz parte do Jupyter Notebook (arquivos .ipynb) e renderiza o DataFrame como tabela formatada, bem mais fácil de ler. O print() funciona em qualquer arquivo Python, mas exibe apenas texto puro. Por isso, quem trabalha com análise de dados costuma preferir notebooks para explorar tabelas.
3. O que a biblioteca Tabulate aceita como entrada?
A tabulate formata listas de listas, dicionários e DataFrames do Pandas. Instale com pip install tabulate e importe com from tabulate import tabulate. O parâmetro headers define o cabeçalho (firstrow ou keys) e o tablefmt muda o estilo das bordas, como o fancy_grid.
4. Como transformar uma tabela do Pandas em HTML?
Use o método to_html do DataFrame: tabela.to_html(“tabela.html”) gera um arquivo que abre direto no navegador, com a tabela completa formatada. Para bases muito grandes, limite as linhas com tabela.head(100) antes da conversão. É uma forma prática de compartilhar dados com quem não programa.
Conclusão – Diferentes Visualizações de Tabela no Python
Na aula de hoje você aprendeu sobre as diferentes visualizações de tabela no Python e como utilizá-las em seus projetos.
Exploramos as diferenças entre os arquivos .ipynb e .py, bem como as opções de visualizações de tabela no Python associadas a cada um deles.
Além disso, te mostrei como utilizar a biblioteca Tabulate para criar tabelas visualmente mais atraentes e de fácil compreensão. Também demonstrei como converter uma tabela em um arquivo HTML, permitindo a visualização no seu navegador.
Agora, você está bem preparado para escolher o editor e o tipo de arquivo que melhor atendem às suas necessidades ao trabalhar com tabela no Python e dados que exigem análise e visualização.
Se você deseja se aprofundar ainda mais e dominar o Python para impressionar em seus projetos, recomendo o curso de Python Impressionador Completo, que oferece uma abordagem abrangente para você evoluir rapidamente!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!


