Python para contabilistas: primeiros passos
Introdução ao Python para contabilistas: variáveis, listas, pandas e um exemplo resolvido de reconciliação e limpeza de dados contabilísticos.
Python é uma linguagem de programação de leitura fácil, muito usada em análise de dados. Para quem trabalha com contabilidade, serve para automatizar tarefas repetitivas em ficheiros Excel e CSV: juntar extractos, limpar descrições, comparar listas e detectar diferenças. Não é preciso ser programador para começar.

Quando compensa passar do Excel para o Python
O Excel resolve a maioria dos problemas. O Python compensa quando a tarefa é repetida todos os meses com ficheiros semelhantes, quando há muitos ficheiros a juntar, ou quando os dados são grandes. Em vez de repetir cliques, escreve-se um guião (script) que faz o trabalho em segundos e produz sempre o mesmo resultado.
Outra vantagem é a transparência: o código é um registo exacto do que foi feito aos dados, algo valioso em auditoria e em fecho de contas.
Preparar o ambiente
- Instale o Python a partir do site oficial ou use uma distribuição científica que já inclua as bibliotecas.
- Use um editor amigável, como um caderno Jupyter, onde cada célula mostra o resultado imediatamente.
- Instale a biblioteca pandas, a mais usada para tabelas de dados.
Conceitos mínimos
- Variável: um nome que guarda um valor.
iva = 0.14guarda uma taxa ilustrativa. - Lista: uma sequência de valores, como os totais de cada mês.
- Ciclo (for): repete uma acção para cada elemento.
- Função: um bloco de código reutilizável com um nome.
- DataFrame: a tabela do pandas, com linhas e colunas, equivalente a uma folha de cálculo.
Ler e ver uma tabela
Com pandas, abre-se um ficheiro numa linha: df = pd.read_excel('razao.xlsx'). Os comandos df.head() e df.info() mostram as primeiras linhas e os tipos de colunas. O primeiro cuidado é verificar se as datas foram lidas como datas e os valores como números, e não como texto, que é o problema mais frequente com ficheiros exportados de programas contabilísticos.
Exemplo resolvido: reconciliar banco e razão
Tem dois ficheiros: o extracto bancário e o razão da conta de depósitos à ordem. Quer saber que movimentos existem num e não no outro. Valores ilustrativos.
- Ler os dois ficheiros em dois DataFrames.
- Criar em cada um uma chave composta: data e valor (por exemplo, '2025-03-05_120000').
- Fazer uma junção externa (
mergecomhow='outer'eindicator=True). - Filtrar as linhas marcadas como existentes só no banco ou só no razão.
- Exportar o resultado para Excel para análise.
Se o banco tem um débito de 120 000 em 5 de Março que o razão não tem, é provavelmente uma comissão ou transferência ainda não registada. Se o razão tem um cheque de 80 000 que o banco não tem, é um cheque em trânsito. O resultado é a lista de itens de reconciliação, obtida em segundos.
Automatizar um relatório mensal
O passo seguinte é juntar tudo num guião reutilizável. Em vez de repetir as mesmas operações em Janeiro, Fevereiro e Março, escreva uma função que recebe o nome do ficheiro e devolve a tabela limpa e agregada. Depois, um ciclo percorre a pasta e aplica a função a cada ficheiro.
Exemplo: uma loja exporta todos os meses um ficheiro de vendas com colunas de data, produto, quantidade e valor. O guião lê o ficheiro, converte a data, calcula o total por produto e escreve uma folha de Excel com o resumo. O que levava uma hora de cópias e fórmulas leva segundos, e o resultado é sempre calculado da mesma maneira, o que reduz erros de cópia e esquecimentos.
Um cuidado essencial: sempre que o formato do ficheiro mudar (nova coluna, nome diferente), o guião pode falhar. É preferível que falhe com uma mensagem clara do que produza números errados em silêncio. Por isso, inclua verificações simples, como confirmar que as colunas esperadas existem e que o total do resumo coincide com o total do ficheiro de origem.
Limpar dados: o trabalho invisível
Boa parte do trabalho com dados é limpeza. Alguns comandos úteis: str.strip() remove espaços; str.upper() uniformiza maiúsculas; drop_duplicates() remove linhas repetidas; fillna() trata células vazias; to_datetime() converte datas. Guarde sempre o ficheiro original intacto e escreva o resultado num ficheiro novo, para poder voltar atrás.
Erros típicos de quem começa
O primeiro erro é tentar aprender tudo antes de fazer algo útil. Escolha uma tarefa real e pequena e resolva-a; a linguagem aprende-se pelo caminho. O segundo é copiar código da internet sem o ler: pode apagar colunas, alterar tipos ou somar o que não devia. O terceiro é sobrescrever o ficheiro original; grave sempre o resultado noutro ficheiro.
Em contabilidade, há ainda um erro específico: usar números decimais de vírgula flutuante para somas muito grandes ou muito precisas, o que pode gerar diferenças de cêntimos. Para valores monetários, arredonde de forma explícita e controle os totais, ou use o tipo Decimal.
Primeiros projectos para praticar
- Juntar os 12 ficheiros mensais de despesas numa só tabela.
- Calcular totais por conta e por mês (
groupby). - Detectar facturas com o mesmo número e fornecedor.
- Preparar um mapa de amortizações para uma lista de activos.
- Comparar balancetes de dois anos e destacar variações superiores a 10%.
Cuidados de quem trabalha com dados de terceiros
- Confidencialidade: não carregue dados reais em serviços externos sem autorização.
- Verifique sempre os totais com o balancete.
- Comente o código para que um colega o perceba.
- Teste primeiro com poucas linhas.
- Não confie cegamente em código gerado por ferramentas de IA; leia-o e experimente.
Precisa de apoio de contabilidade para a sua empresa?
Se, além de estudar, tem ou vai abrir um negócio, a Contas Organizadas trata da contabilidade, da fiscalidade e da folha de salários. Fale connosco.
Perguntas frequentes
Quanto tempo leva a aprender o suficiente?
Com prática regular, algumas semanas dão para automatizar tarefas simples. A fluência vem com projectos reais.
Python é melhor do que Excel?
Não é melhor, é diferente. Para tarefas pontuais, o Excel basta; para repetição e volume, o Python poupa muito tempo.
É preciso matemática avançada?
Não. A matemática de contabilidade (somas, percentagens, médias) basta. O essencial é lógica e persistência.