import os
import warnings
from extracao.updates import connect_db
import numpy as np
from geopy.distance import geodesic
Principal
Este módulo concentra funções auxiliares específicas que filtram os dados do banco com campos e formatação de interesse para aplicações específicas como o appAnalise por exemplo.
get_db
get_db (path:Union[str,pathlib.Path], connSQL:pyodbc.Connection=None, clientMongoDB:pymongo.mongo_client.MongoClient=None)
Lê e opcionalmente atualiza as bases da Anatel, mescla as bases da Aeronáutica, salva e retorna o arquivo A atualização junto às bases de dados da Anatel é efetuada caso ambos objetos de banco connSQL
e clientMongoDB
forem válidos`
Type | Default | Details | |
---|---|---|---|
path | Union | Pasta onde salvar os arquivos”, | |
connSQL | Connection | None | Objeto de conexão do banco SQL Server |
clientMongoDB | MongoClient | None | Objeto de conexão do banco MongoDB |
Returns | DataFrame | Retorna o DataFrame com as bases da Anatel e da Aeronáutica |
"ignore") warnings.filterwarnings(
= Path.cwd().parent / 'dados' folder
# conn = connect_db()
# uri = os.environ['MONGO_URI']
# mongo_client = MongoClient(uri)
# os.chdir(f"{Path.cwd().parent}/extracao/aero")
= get_db(folder)
df # df = get_db(folder) #, conn, mongo_client)
# df = pd.read_parquet(folder / 'AnatelDB.parquet.gzip')
📜Lendo as bases de dados da Anatel...
✈Requisitando os dados da Aeronáutica.
🥄Mesclando os dados da Aeronáutica.
🗃Salvando os arquivos...
Sucesso ⚡
from pandas_profiling import ProfileReport
'Frequency'] = df['Frequency'].astype('category')
df[= ProfileReport(df, config_file= folder.parent / 'nbs/report_config.yaml')
profile profile.to_notebook_iframe()