-
Notifications
You must be signed in to change notification settings - Fork 0
/
extracao.py
27 lines (25 loc) · 1.08 KB
/
extracao.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
import principal
import pandas
variaveis = principal.extrair_variaveis("dados/dicionario_pessoas.xls")
colunas = [str(variavel) for variavel in variaveis]
linhas = []
with open("dados/pessoas_2015.txt") as microdados:
for idx, linha in enumerate(microdados):
print("+++++++++++++++++++++++++++ NOVA LINHA +++++++++++++++++++++++++++++++++++")
nova_linha = []
for variavel in variaveis:
# print(variavel)
# print(variavel.categoria)
valor = linha[variavel.posicao_inicial:variavel.posicao_inicial + variavel.tamanho].strip()
if valor:
valor = int(valor)
# print('\t', valor, ' - ', variavel.categoria.get(valor))
valor_final = variavel.categoria.get(valor) if variavel.categoria.get(valor) else valor
nova_linha.append(valor_final)
linhas.append(nova_linha)
if idx > 1000:
break
#
df = pandas.DataFrame(linhas, columns=colunas)
print(df.shape) # 356904 linhas e 434 colunas
df.to_csv('microdados.csv', sep=';') # mais de 2GB