forked from paulochf/anp-dados-abertos
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathparser.py
24 lines (21 loc) · 905 Bytes
/
parser.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from schema.datamodel import PrecosParser
from pathlib import Path
path = Path.cwd()/ 'raw'
files = list(path.glob("**/*.xml"))
if len(files) !=0:
#inicia o processamento dos arquivos xml
for index, file_ in enumerate(files,1):
print(f"Processando o arquivo {file_}.")
filedata = PrecosParser(file_)
#processa os dados do arquivo file_
filedata.get_data()
#exporta para um arquivo csv
filename = file_.name[:-4] #coleta o ano do dado
filedata.data_to_csv(filename)
#adiciona os dados da instância ao container da classe
PrecosParser.add_data(filedata.data_container)
#exporta um arquivo único com todos os dados processados
PrecosParser.exporta_dados_csv('serie_precos_completa')
print(f"Finalizado o processamento de {index} arquivo(s).")
else:
print("Não há arquivo(s) xml a ser(em) processado(s).")