Dados Abertos · votação por seção
Resultado por seção eleitoral: como ver e baixar
Por Voto Aberto · atualizado em 27/10/2026 · fonte: Tribunal Superior Eleitoral (TSE)
Resposta curta
O voto de cada seção está no arquivo Votação por seção eleitoral do Portal de Dados Abertos do TSE, em CSV dentro de um ZIP.
Presidente fica no arquivo do Brasil (votacao_secao_2026_BR.zip, cerca de 240 MB com os dois turnos). Governador, senador e deputados ficam no arquivo de cada UF (votacao_secao_2026_SP.zip etc.).
Como ver o resultado da sua seção (sem programar)
- Por escola, com mapa. Na página da sua cidade no Voto Aberto, o resultado vai até cada local de votação, somando as seções da escola.
- Seção a seção. No site de Resultados do TSE, o boletim de urna de cada seção mostra os votos dela. Zona e seção estão no título de eleitor e no e-Título.
- Por zona eleitoral. Some as seções da zona: no arquivo do TSE, filtre a coluna NR_ZONA (veja o código abaixo).
Passo a passo com os arquivos do TSE
- Baixe o ZIP.
https://cdn.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2026_<UF>.zip, ou_BRpara presidente. - Leia o CSV com o formato certo. Separador ponto e vírgula e codificação Latin-1 (ISO-8859-1).
- Filtre o cargo e o turno. Colunas
DS_CARGOeNR_TURNO. - Monte uma linha por seção. Uma coluna por
NR_VOTAVEL, somandoQT_VOTOS. 95 é branco e 96 é nulo.
Código pronto para copiar
# Resultado por seção eleitoral (Dados Abertos do TSE) com pandas
import io, urllib.request, zipfile
import pandas as pd
UF = "AC" # arquivo da UF: governador, senador e deputados
CARGO = "Governador" # para presidente use UF = "BR" (só presidente, país inteiro, ~240 MB)
url = f"https://cdn.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2026_{UF}.zip"
z = zipfile.ZipFile(io.BytesIO(urllib.request.urlopen(url, timeout=600).read()))
csv_nome = next(n for n in z.namelist() if n.endswith(".csv"))
colunas = ["NR_TURNO", "SG_UF", "CD_MUNICIPIO", "NM_MUNICIPIO", "NR_ZONA", "NR_SECAO", "NR_LOCAL_VOTACAO",
"NM_LOCAL_VOTACAO", "DS_CARGO", "NR_VOTAVEL", "NM_VOTAVEL", "QT_VOTOS"]
partes = pd.read_csv(z.open(csv_nome), sep=";", encoding="latin-1", usecols=colunas, chunksize=500_000)
df = pd.concat(p[p["DS_CARGO"] == CARGO] for p in partes) # lê em pedaços: o arquivo BR passa de 1 GB
# Uma linha por seção e turno, uma coluna por número votado (95 = branco, 96 = nulo)
por_secao = df.pivot_table(index=["NR_TURNO", "SG_UF", "CD_MUNICIPIO", "NM_MUNICIPIO", "NR_ZONA", "NR_SECAO", "NM_LOCAL_VOTACAO"],
columns="NR_VOTAVEL", values="QT_VOTOS", aggfunc="sum", fill_value=0)
print(por_secao.head())
print(df.groupby(["NR_TURNO", "NM_VOTAVEL"])["QT_VOTOS"].sum())
por_secao.to_csv(f"secoes_{UF}_{CARGO}.csv")# Resultado por seção eleitoral (Dados Abertos do TSE) com data.table
library(data.table)
options(timeout = 600)
uf <- "AC" # arquivo da UF: governador, senador e deputados
cargo <- "Governador" # para presidente use uf <- "BR" (só presidente, país inteiro, ~240 MB)
url <- sprintf("https://cdn.tse.jus.br/estatistica/sead/odsele/votacao_secao/votacao_secao_2026_%s.zip", uf)
zip <- tempfile(fileext = ".zip")
download.file(url, zip, mode = "wb")
csv <- unzip(zip, files = sprintf("votacao_secao_2026_%s.csv", uf), exdir = tempdir())
dt <- fread(csv, encoding = "Latin-1")[DS_CARGO == cargo]
# Uma linha por seção e turno, uma coluna por número votado (95 = branco, 96 = nulo)
por_secao <- dcast(dt, NR_TURNO + CD_MUNICIPIO + NM_MUNICIPIO + NR_ZONA + NR_SECAO ~ NR_VOTAVEL,
value.var = "QT_VOTOS", fun.aggregate = sum)
dt[, .(votos = sum(QT_VOTOS)), by = .(NR_TURNO, NM_VOTAVEL)][order(NR_TURNO, -votos)]
fwrite(por_secao, sprintf("secoes_%s_%s.csv", uf, cargo))O código em R usa os pacotes jsonlite e data.table (install.packages(c("jsonlite", "data.table"))). O Python lê em pedaços porque o CSV de presidente passa de 1,5 GB descompactado.
No Acre, a soma das seções dá 272.635 votos para Mailza Assis Cameli e 139.108 para Alan Rick Miranda no 2º turno de governador. O código em Python foi executado pelo Voto Aberto em 26/10/2026.
Erros comuns
- Presidente não está no arquivo da UF. Está só no
_BR. - Codificação: sem
encoding="latin-1", os acentos quebram ou o arquivo nem abre. - Excel corta o arquivo: o limite é 1.048.576 linhas. Use Python, R ou um banco de dados.
- Comparecimento: o arquivo não tem uma coluna de comparecimento. Para presidente, ele é a soma dos votos da seção (cada eleitor vota uma vez).
- Seções agregadas: algumas seções votam junto com outra (a principal). Os votos aparecem só na principal; o eleitorado delas está no arquivo de eleitorado por local.
- Número 28 em 2026: os 5.246 votos no número 28 no 1º turno de presidente foram anulados e entram como nulos no resultado oficial.
- CDN desatualizada: logo depois de uma atualização, o servidor pode entregar a versão antiga. Confira a data dentro do ZIP; se for velha, acrescente
?v=e a data ao endereço.
Quer o dado já limpo?
O Voto Aberto publica o resultado de presidente em 2026 por município e por local de votação, com endereço e coordenadas, conferido com o total oficial do TSE. Licença CC BY 4.0.
Baixar o datasetTodos os dadosPerguntas frequentes
Como saber quem ganhou na minha seção?
Abra o boletim de urna da sua seção no site Resultados do TSE (UF, município, zona e seção) ou veja a sua escola na página da sua cidade no Voto Aberto, que soma as seções de cada local de votação.
Como ver o resultado por zona eleitoral?
Baixe o arquivo de votação por seção do TSE e some as seções de cada zona (coluna NR_ZONA).
Tem resultado por escola ou por bairro?
O TSE publica por seção. O Voto Aberto soma as seções por local de votação (escola) e publica o resultado com endereço e coordenadas, por município.
Onde baixar o resultado por seção eleitoral de 2026?
No Portal de Dados Abertos do TSE, conjunto 'Resultados 2026', arquivo 'Votação por seção eleitoral'. Presidente está em votacao_secao_2026_BR.zip; os demais cargos, no arquivo de cada UF.
O resultado do 2º turno por seção já saiu?
Sim. O arquivo de presidente com os dois turnos foi atualizado pelo TSE em 26/10/2026.
Como ver o resultado da minha seção sem programar?
Na página da sua cidade no Voto Aberto, o resultado vai até a escola. No site do TSE, em Resultados, há a consulta por boletim de urna.
Qual a diferença entre votação por seção e boletim de urna?
O arquivo por seção traz só os votos. O boletim de urna (arquivo bweb) traz também aptos, comparecimento, horário de abertura e encerramento e a identificação da urna.
Outros guias
Fontes: Portal de Dados Abertos do TSE — Resultados 2026. Como citar: “Voto Aberto, com dados do TSE”.