1
resposta

[Dúvida] Gerar Tabelas dinamicas com Python

Estou desenvolvendo uma automação em Python que gera planilhas Excel (.xlsx) com dados extraido de outras fontes, PDF e etc. A ideia é entregar esse arquivo para usuários finais (não técnicos) que precisam interagir com os dados de forma simples, como selecionar filtros em Tabelas Dinâmicas (Pivot Tables) e, a partir disso, atualizar valores consolidados em outras abas da planilha.

Pesquisando, encontrei formas de criar Pivot Tables no Pandas e exportá-las para o Excel, mas isso não gera uma Tabela Dinâmica "nativa" do Excel, onde o usuário possa interagir com filtros/slicers diretamente.

Se tiver opções diferente do Excel mas com a mesma praticidade seria perfeito também.

1 resposta

Olá, Pedro!

Sua pergunta é excelente e demonstra uma preocupação fundamental para quem trabalha com automação: a experiência do usuário final. Você está certo em sua pesquisa, o Pandas cria uma tabela dinâmica "estática", que é o resultado de uma operação de pivot, mas não gera a tabela dinâmica interativa nativa do Excel.

A boa notícia é que existem soluções para isso!

Solução dentro do ecossistema do Excel:

Para criar uma tabela dinâmica "nativa" em Excel usando Python, você precisará de uma biblioteca que consiga manipular o arquivo .xlsx em um nível mais profundo. Uma das bibliotecas mais populares para isso é a openpyxl.

A openpyxl permite que você:

Crie a planilha com os dados brutos.

Crie uma PivotTable nativa do Excel, definindo os campos de linha, coluna, valores e filtros.

Crie Slicers (filtros visuais) que se conectem à tabela dinâmica.

Crie gráficos dinâmicos.

É um pouco mais complexo do que simplesmente exportar um DataFrame do Pandas, mas é a forma de entregar exatamente o que o seu usuário precisa.

Outras opções fora do Excel:

A sua ideia de buscar alternativas ao Excel é ótima! Se o objetivo é entregar dashboards interativos para usuários não-técnicos, a melhor abordagem seria usar ferramentas de Business Intelligence (BI).

Power BI: Como você já tem os dados em Python, você pode exportar para um formato como .csv ou .parquet e usar o Power BI para construir um dashboard interativo. O Power BI é uma ferramenta robusta e gratuita (para uso pessoal), e os usuários finais podem filtrar e explorar os dados de forma muito intuitiva.

Dash/Plotly ou Streamlit: Se você quer continuar 100% no ecossistema Python, pode usar bibliotecas como Dash ou Streamlit. Elas permitem que você construa dashboards e aplicações web interativas com Python, sem a necessidade de conhecimento de front-end. Você pode criar gráficos, tabelas e filtros, e o usuário acessa tudo via navegador.

A escolha da ferramenta depende da familiaridade dos seus usuários. Se eles já usam o Excel, a openpyxl pode ser a solução ideal. Se você quer dar um passo adiante e ter dashboards mais robustos, o Power BI ou o Streamlit são excelentes opções.

Espero que ajude!