-
Notifications
You must be signed in to change notification settings - Fork 1
/
output_csv.py
41 lines (31 loc) · 1.1 KB
/
output_csv.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import csv
def escrever_arquivo_resultado(nome_arquivo, resultado):
with open(nome_arquivo, 'w') as arquivo_csv:
campos = [
'campus',
'curso',
'regime',
'cota',
'posicao',
'numero_inscricao',
'nome',
'numero_sorteado',
'situacao',
]
writer = csv.DictWriter(arquivo_csv, fieldnames=campos)
writer.writeheader()
_escrever_resultado_candidatos(writer, resultado)
def _escrever_resultado_candidatos(writer, resultado):
candidatos = _converter_resultado_candidatos(resultado)
for candidato in candidatos:
_escrever_candidato(writer, candidato)
def _converter_resultado_candidatos(resultado):
candidatos = []
for _, cursos in resultado.items():
for _, regimes in cursos.items():
for _, cotas in regimes.items():
for _, candidatos_cotas in cotas.items():
candidatos.extend(candidatos_cotas)
return candidatos
def _escrever_candidato(writer, candidato):
writer.writerow(candidato)