diff --git a/etis/2_silver/.gitempty b/etis/2_silver/.gitempty new file mode 100644 index 0000000..e69de29 diff --git a/etis/3_gold/.gitempty b/etis/3_gold/.gitempty new file mode 100644 index 0000000..e69de29 diff --git a/requirements.txt b/requirements.txt index d30af55..933478f 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/scripts/deteccao_outliers.py b/scripts/deteccao_outliers.py index 64fe44e..16c4ae2 100644 --- a/scripts/deteccao_outliers.py +++ b/scripts/deteccao_outliers.py @@ -5,7 +5,7 @@ from statistics import median import requests import math - +import csv class BaseDetectorOutlier: def __init__(self, csv_path, epsilon=3): @@ -146,17 +146,27 @@ def escrever_csv(self): load_dotenv() CAMINHO_BASE = f'{os.getenv("CAMINHO_SAIDA")}' outliers = [] - for file in os.listdir(CAMINHO_BASE + '/2_silver/'): + silver_folder = os.listdir(CAMINHO_BASE + '/2_silver/') + for file in silver_folder: + if ".gitempty" == file: + continue test = BaseDetectorOutlier(CAMINHO_BASE + '/2_silver/' + file, 3) #test.descricao() - outliers += test.get_outliers() - - print('len: ', len(outliers)) - for o in outliers: - print('out: ', o) - res = requests.post(f'{os.getenv("DOMINIO")}/Indicador/Add', json=o) - print('res: ', res.status_code) - print('res: ', res.text) - + outliers += test.get_outliers() print(outliers) + print('len: ', len(outliers)) + + # Campos que serão usados como cabeçalhos no arquivo CSV + fieldnames = outliers[0].keys() + + save_dir = os.path.join(f'{CAMINHO_BASE}/3_gold/') + if not os.path.exists(save_dir): + os.makedirs(save_dir) + # Salvando como CSV + with open(f'{save_dir}outliers.csv', mode='w', newline='') as file: + writer = csv.DictWriter(file, fieldnames=fieldnames) + writer.writeheader() + writer.writerows(outliers) + + diff --git a/scripts/enviar_outliers.py b/scripts/enviar_outliers.py new file mode 100644 index 0000000..1b6a718 --- /dev/null +++ b/scripts/enviar_outliers.py @@ -0,0 +1,23 @@ +import csv +import requests +import os +from dotenv import load_dotenv + +load_dotenv() +CAMINHO_BASE = f'{os.getenv("CAMINHO_SAIDA")}' + +dir = os.path.join(f'{CAMINHO_BASE}/3_gold/outliers.csv') + +with open(dir, mode='r', newline='') as file: + outliers = csv.DictReader(file) + for o in outliers: + print('out: ', o) + try: + response = requests.post(f'{os.getenv("DOMINIO")}/Indicador/Add', json=o) + if response.status_code == 200: + print(f"Sucesso: {response.json()}") + else: + print(f"Falha na requisição: {response.status_code}, {response.text}") + except Exception as e: + print('Erro: ', e) + \ No newline at end of file