Skip to content

Instantly share code, notes, and snippets.

@rmgimenez
Created June 13, 2016 18:01
Show Gist options
  • Save rmgimenez/e14261eed6c7dd616dc4d3f597013091 to your computer and use it in GitHub Desktop.
Save rmgimenez/e14261eed6c7dd616dc4d3f597013091 to your computer and use it in GitHub Desktop.
Lê um arquivo de cotação da Bovespa e joga os valores para variáveis
ref_arquivo = open("COTAHIST_A2016.TXT","r")
# formata uma data do tipo yyyymmdd para dd/mm/yyyy
def formata_data(data):
return data[6:8] + '/' + data[4:6] + '/' + data[0:4]
def formata_numero(numero):
return int(numero) / 100
for linha in ref_arquivo:
tipo = linha[:2]
print(i)
if(tipo == '01'): # linha com os dados da cotção
data_pregao = formata_data(linha[2:10])
cod_bdi = linha[10:12]
cod_neg = linha[12:24]
tp_merc = linha[24:27]
nom_res = linha[27:39]
especi = linha[39:49]
prazot = linha[49:52]
mod_ref = linha[52:56]
pre_abe = formata_numero(linha[56:69])
pre_max = formata_numero(linha[69:82])
pre_min = formata_numero(linha[82:95])
pre_med = formata_numero(linha[95:108])
pre_ult = formata_numero(linha[108:121])
pre_ofc = formata_numero(linha[121:134])
pre_ofv = formata_numero(linha[134:147])
tot_neg = linha[147:152]
qua_tot = linha[152:170]
vol_tot = formata_numero(linha[170:188])
pre_exe = formata_numero(linha[188:201])
ind_opc = linha[201:202]
dat_ven = linha[202:210]
fat_cot = linha[210:217]
pto_exe = linha[217:230]
cod_isi = linha[230:242]
dis_mes = linha[242:245]
elif(tipo == '00'): # cabeçalho
nome_arquivo = linha[2:15]
codigo_origem = linha[15:23]
data_geracao_arquivo = linha[23:31]
elif(tipo == '99'): # rodapé
1 == 1
i = i + 1
ref_arquivo.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment