Criação de Apps

Automatizar planilhas com Python: ler, somar e salvar sem copiar

Resposta rápida

Para automatizar planilhas com Python, instale as bibliotecas pandas e openpyxl, leia o arquivo com a função read_excel, filtre e some os dados com comandos do pandas e salve o resultado com to_excel. Com isso, tarefas repetidas como juntar abas, somar vendas por produto e gerar um relatório mensal passam a rodar com um único comando.

Neste artigo
  1. O que você precisa instalar
  2. Passo 1: ler a planilha
  3. Passo 2: limpar e filtrar os dados
  4. Passo 3: somar, agrupar e calcular
  5. Passo 4: juntar várias planilhas
  6. Passo 5: salvar o resultado
  7. Cuidados importantes
  8. Quando vale e quando não vale automatizar
  9. Por onde começar

Todo começo de mês, o mesmo ritual: abrir cinco planilhas, copiar colunas, colar numa tabela principal, ajustar formato e somar. Se você faz isso toda semana, é um bom candidato à automação. Com Python, o processo vira um script que você roda quando precisar.

Este guia usa exemplos simples para mostrar a lógica. Se você ainda não instalou o Python, veja antes Python para iniciantes: seus primeiros passos.

O que você precisa instalar

Além do Python, você usa duas bibliotecas:

  • pandas: trabalha com tabelas de dados (chamadas de DataFrame). É a ferramenta principal para ler, filtrar e somar.
  • openpyxl: o pandas usa essa biblioteca por baixo para ler e escrever arquivos .xlsx. Também serve para mexer em formatação e células.

A instalação é feita no terminal com o comando pip install pandas openpyxl. O ideal é fazer isso dentro de um ambiente virtual, para não bagunçar outros projetos (veja ambiente virtual no Python: venv e pip).

Passo 1: ler a planilha

Imagine um arquivo chamado vendas.xlsx com as colunas Data, Produto, Quantidade e Valor. Em Python, a leitura usa a função read_excel do pandas: você importa a biblioteca, indica o nome do arquivo e guarda o resultado numa variável, por exemplo tabela. Para conferir se leu direito, mostre as primeiras linhas com tabela.head().

Se o arquivo tem várias abas, é possível escolher qual ler com o parâmetro sheet_name, ou ler todas e depois juntá-las. Caso o arquivo seja CSV, a função equivalente é read_csv.

Passo 2: limpar e filtrar os dados

Planilhas reais vêm com sujeira: células vazias, espaços sobrando, números guardados como texto. O pandas ajuda com tarefas comuns:

  • remover linhas vazias com dropna;
  • remover linhas duplicadas com drop_duplicates;
  • converter uma coluna para número com to_numeric;
  • filtrar linhas, por exemplo, só as vendas de um produto ou de um mês.

O filtro funciona escrevendo uma condição sobre a coluna. Algo como “tabela onde a coluna Produto é igual a Caneca” devolve apenas essas linhas. É parecido com o que você faria com filtros no Excel, só que repetível.

Passo 3: somar, agrupar e calcular

O ponto forte do pandas é agrupar. Com groupby, você diz qual coluna usar como categoria (Produto) e qual operação fazer (soma de Valor). O resultado é uma tabela com o total por produto, o equivalente à tabela dinâmica do Excel (veja a versão manual em tabela dinâmica no Excel).

Outros cálculos úteis:

  1. Total geral: soma de uma coluna inteira.
  2. Média: valor médio por venda.
  3. Contagem: quantas vendas por dia ou por vendedor.
  4. Nova coluna calculada: por exemplo, multiplicar Quantidade por Preço para obter o total de cada linha.

Passo 4: juntar várias planilhas

Esse é o caso em que a automação mais compensa. Se você recebe um arquivo por mês ou por loja, o roteiro é:

  1. listar os arquivos da pasta (com o módulo pathlib ou glob);
  2. ler cada um com read_excel;
  3. juntar tudo com concat;
  4. agrupar e somar o conjunto.

Depois de escrito uma vez, o script processa 3 arquivos ou 30 do mesmo jeito. Só confira se todos têm as mesmas colunas, porque nomes diferentes (por exemplo “Valor” e “Valor Total”) geram colunas separadas.

Passo 5: salvar o resultado

A tabela final é salva com to_excel, informando o nome do novo arquivo. Use o parâmetro index=False para não gravar a coluna de numeração do pandas. Para colocar várias tabelas em abas diferentes do mesmo arquivo, use ExcelWriter.

Se você quiser formatar (negrito no cabeçalho, largura de coluna, cor), é aí que entra o openpyxl, que abre o arquivo salvo e altera as células. Para relatórios simples, muitas vezes basta o resultado em dados limpos.

Cuidados importantes

  • Trabalhe sempre numa cópia. Nunca rode o script direto sobre a única versão da planilha. Salve o resultado em um arquivo novo.
  • Fórmulas: o pandas lê os valores já calculados, não as fórmulas. Ao salvar com to_excel, as fórmulas não são preservadas.
  • Planilhas protegidas ou com senha exigem cuidados extras e podem não abrir.
  • Dados pessoais: se a planilha tem nomes, CPF ou e-mails de clientes, guarde o script e os arquivos em lugar seguro. Veja LGPD para pequenas empresas.
  • Teste com poucas linhas antes de rodar em tudo e confira os totais contra a soma feita no Excel.

Quando vale e quando não vale automatizar

Nem toda planilha precisa de Python. Uma boa conta é comparar o tempo gasto com o tempo para escrever o script. Se a tarefa leva dez minutos por mês, talvez não compense. Se leva uma hora toda semana, o investimento se paga em poucas semanas.

Sinais de que vale automatizar:

  • o processo é sempre o mesmo, com as mesmas colunas;
  • os erros de copiar e colar já causaram problemas;
  • o volume cresce, com mais arquivos ou mais linhas;
  • outras pessoas precisam gerar o mesmo relatório.

Sinais de que é melhor manter à mão: o formato muda a cada vez, a tarefa depende de julgamento humano em cada linha ou a planilha é usada uma única vez. Nesses casos, fórmulas e tabelas dinâmicas resolvem melhor.

Por onde começar

Escolha uma tarefa de planilha que você repete e escreva no papel os passos manuais. Cada passo vira uma linha de código. Se travar, uma IA pode ajudar a rascunhar o script, desde que você revise e teste com dados falsos (confira como revisar código gerado por IA). Quando funcionar, o próximo passo é fazê-lo rodar sozinho em horário marcado, o que é tema de agendar tarefas no computador.

  • Python
  • Excel
  • Automação

Perguntas frequentes

Preciso saber programar muito para automatizar planilhas com Python?

Não. Noções de variáveis, listas e funções já permitem fazer leitura, filtro e soma de dados. Muita gente aprende Python exatamente por causa de uma tarefa de planilha repetitiva.

Qual a diferença entre pandas e openpyxl?

O pandas trabalha com tabelas de dados de forma prática, ideal para filtrar, agrupar e somar. O openpyxl mexe diretamente em células, formatação e fórmulas do arquivo Excel. É comum usar os dois juntos.

O Python substitui as fórmulas do Excel?

Não precisa substituir. Para tarefas pequenas e pontuais, as fórmulas resolvem. O Python compensa quando você repete o mesmo processo com muitos arquivos ou com tabelas grandes.

Leia também

Criação de Apps

Agendar tarefas no computador: Agendador de Tarefas do Windows e cron

Como fazer um script rodar todo dia, toda semana ou ao ligar o PC, sem precisar lembrar.

· 5 min de leitura
Criação de Apps

Ambiente virtual no Python: venv e pip para não bagunçar seus projetos

Como isolar cada projeto Python com seus próprios pacotes e evitar conflitos de versão.

· 5 min de leitura
Criação de Apps

Python para iniciantes: seus primeiros passos com código

Do download ao primeiro programa, com os conceitos básicos da linguagem mais indicada para começar.

· 5 min de leitura
Produtividade

Tabela dinâmica: o que é e como criar no Excel e no Planilhas

Transforme uma lista enorme de dados em um resumo claro, arrastando campos com o mouse.

· 5 min de leitura

Deixe seu comentário