Como acessar e interpretar os dados eleitorais de 2012
A maior parte das pessoas que precisa dos resultado das eleições 2012 não está procurando uma análise política. Elas estão tentando extrair números específicos de uma base de dados que o TSE disponibiliza em formatos que nunca foram desenhados para uso humano direto. O problema é que a plataforma oficial existe, mas navegar por ela sem saber exatamente o que procurar gasta mais tempo do que o necessário. O Tribunal Superior Eleitoral mantém um repositório público com todos os dados eletronicamente acessíveis. Os arquivos são distribuídos em formato .zip, contendo planilhas em .xls e .xlsx organizadas por município, cargo e candidato. A estrutura é consistente, mas a documentação que acompanha os campos é escassa. Você precisa baixar o manual de orientação no próprio site do TSE para conseguir mapear o que cada coluna significa, senão vai perder bastante tempo com tentativa e erro.
resultado das eleições 2012: onde encontrar os dados oficiais
O caminho direto é o portal de transparência do TSE, na seção de banco de dados eleitorais. Lá existem pastas separadas por ano eletivo. Para 2012, os arquivos principais são os relativos às eleições municipais, que cobrem todos os 5.564 municípios brasileiros. Cada arquivo zipado contém uma série de planilhas: uma com os dados dos candidatos, outra com o resultado por seção eleitoral, e outras com informações sobre propaganda e prestação de contas. Eu já passei bastante tempo mexendo com esses arquivos, então vou ser direto sobre o que funciona na prática. O download individual por município é viável se você precisa de poucos lugares, mas se o seu objetivo é cruzar dados de múltiplas cidades, o processo manual se torna inviável. O que eu faço nesse caso é usar um script Python simples com a biblioteca requests para fazer o download lotérico dos arquivos, extrair os .xls e converter para CSV. Isso leva cerca de 10 minutos para processar todos os municípios, dependendo da velocidade da sua conexão.
Um ponto que muita gente perde: o TSE disponibiliza também uma API REST com endpoints para consultas rápidas. Ela é menos conhecida do que o repositório de arquivos, mas permite buscar resultados por código do candidato, número de votação ou seção eleitoral sem precisar baixar gigabytes de planilhas. A documentação técnica está no próprio portal do TSE. Use a API quando precisar de dados pontuais e recorra aos arquivos completos apenas para análises que exigem tratamento em massa. Existe um problema específico que você provavelmente vai enfrentar se for processar os arquivos diretamente. As planilhas de resultado por candidato usam codificação Latin-1 em vez de UTF-8. Se você abrir com um leitor padrão e tentar filtrar nomes com caracteres especiais como "São Paulo" ou "Açores", vai encontrar texto corrompido. A solução é abrir sempre especificando o encoding correto. No Python, eu uso pd.read_excel com o parâmetro engine openpyxl e encoding='latin-1'. Isso resolve em praticamente todos os casos.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outra armadilha comum são os campos numéricos que aparecem como texto. Números de votação, total de votos nominais e percentuais vêm formatados como string com vírgula decimal no lugar do ponto. Se você tentar fazer cálculos direto, vai receber erros de conversão ou resultados completamente errados. O procedimento correto é limpar os campos removendo pontos de milhar e substituindo vírgulas por pontos antes de qualquer operação matemática. Esse passo aparentemente simples evita a maior parte dos bugs em scripts de processamento. O que ninguém explica direito é a diferença entre as planilhas de resultado por seção e as de apuração final. Os arquivos de seção mostram o voto campo por campo, com o número da seção, zona eleitoral e município. Já a apuração final consolida tudo por candidato. Se você precisa trabalhar com abstenção ou brancos/nulos, o arquivo de seção é mais completo. Para análise de desempenho de candidatos, a apuração final basta. Misturar os dois sem entender essa distinção gera números que não fecham.
Existe ainda uma limitação prática importante. Os dados de 2012 são completos para a maioria dos municípios, mas há exceptions. Algumas cidades pequenas tiveram problemas técnicos no dia da eleição e os registros podem estar incompletos ou com valores zerados que precisam ser verificados manualmente contra a ata de votação. Não há um indicador automático no banco de dados para isso. Eu costumava cross-checkar os totais com o boletim de urna escaneado quando um município apresentava inconsistência óbvia, como um candidato com zero votos em uma cidade de 50 mil habitantes. Se o seu objetivo é apenas consultar resultados de forma rápida sem processar dados, o TSE também oferece uma ferramenta de consulta online que permite filtrar por município, cargo e candidato. Ela é limitada em termos de exportação, mas funciona bem para verificações pontuais. Para qualquer coisa que envolva análise mais elaborada, a saída mesmo é baixar os arquivos brutos e tratar localmente.
Um detalhe técnico que vale a pena anotar: os arquivos de 2012 usam o formato .xls antigo do Excel, não o .xlsx mais recente. Isso significa que ferramentas modernas como o pandas conseguem ler sem problema, mas softwares mais simples ou planilhas do Google Sheets podem ter dificuldade com arquivos acima de 256 colunas. Caso tenha esse tipo de limitação, a conversão prévia para CSV resolve.