Os dados das coligações foram baixados do Repositório de Dados Eleitorais do site do TSE no dia 20/09/2018.
wget -c http://agencia.tse.jus.br/estatistica/sead/odsele/consulta_coligacao/consulta_coligacao_2018.zip
Os dados são fornecidos num ZIP que contém um CSV para os dados de coligação de cada UF.
unzip consulta_coligacao_2018.zip
Os CSVs possuem 21 colunas. O caractere separador é ;
. Uma descrição do que significa cada coluna está no
arquivo leiame.pdf
presente no ZIP baixado. Meu interesse está nas 14ª e 21ª
colunas. Elas contêm o cargo e os partidos que estão na coligação, respectivamente.
Seleciono apenas essas colunas com o comamando cut
.
Cada combinação de cargo + partido aparece uma vez. A coligação O Rio quer paz
do RJ, por exemplo, aparece quatro vezes porque é composta por 4 partidos. Essa
redundância é eliminada com sort | uniq
.
Por fim, excluo as linhas que contém as palavras SUPLENTE
(porque são iguais
as de senador) e VICE
(porque são iguais as de governador). Excluo também a
linha com os nomes das colunas. Isso é feito com a opção -v '(SUPLENTE|DS_.*|VICE)
do comando egrep
. Uso a opção --text
para evitar a mensagem Arquivo binário coincide com o padrão
.
A codificação dos arquivos é latin1, meu sistema usa UTF-8.
Cada arquivo processado é salvo num novo arquivo com nome UF.csv
.
for arquivo in consulta_coligacao_2018_??.csv; do
cut -f14,21 -d\; "$arquivo" | sort | uniq | egrep --text -v '(SUPLENTE|DS_.*|VICE)' > "${arquivo#consulta_coligacao_2018_}"
done
Adicionei uma linha com o nome das colunas nos arquivos processados com o
comando sed
.
for arquivo in ??.csv; do
sed -i '1i"Cargo";"Coligação"' "$arquivo"
done
Importei manualmante cada arquivo CSV resultante como uma folha de planilha do Google Sheets disponível aqui.
As versões dos programas usados foram:
$ wget -V
GNU Wget 1.17.1 construído em linux-gnu.
$ unzip -v
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
Compiled with gcc 5.2.1 20151119 for Unix (Linux ELF).
+digest -gpgme +https +ipv6 +iri +large-file -metalink +nls +ntlm
+opie -psl +ssl/openssl
$ cut --version
cut (GNU coreutils) 8.25
$ sort --version
sort (GNU coreutils) 8.25
$ uniq --version
uniq (GNU coreutils) 8.25
$ egrep --version
grep (GNU grep) 2.25