Skip to content

Commit

Permalink
🔊 Added logging of Radcom
Browse files Browse the repository at this point in the history
  • Loading branch information
ronaldokun committed Mar 6, 2024
1 parent a7b3db2 commit 4080d02
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions extracao/datasources/sitarweb.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,11 @@ def query(self):
def extraction(self):
"""This method returns a DataFrame with the results of the query"""
if self.read_cache:
return self._read(f'{self.stem}_raw')
return pd.read_sql_query(self.query, self.connect()).astype('string', copy=False)
df = self._read(f'{self.stem}_raw', 'numpy_nullable')
else:
df = pd.read_sql_query(self.query, self.connect(), dtype='string', copy=False)
df['Log'] = '[]'
return df


# %% ../../nbs/01c_sitarweb.ipynb 7
Expand All @@ -89,7 +92,7 @@ def _format(
df: pd.DataFrame, # DataFrame com o resultantes do banco de dados
) -> pd.DataFrame: # DataFrame formatado
"""Formata, limpa e padroniza os dados provenientes da query no banco"""
df['Entidade'] = df['Entidade'].str.strip()
df['Entidade'] = df['Entidade'].astype('string', copy=False).str.strip()
df['Serviço'] = '231'
df['Classe_EmissĂŁo'] = pd.NA
df['Largura_EmissĂŁo(kHz)'] = '256'
Expand All @@ -105,13 +108,14 @@ def _format(
+ df.loc[~a, 'Situação'].astype('string', copy=False)
)
df.drop(['Fase', 'Situação'], axis=1, inplace=True)
df['Log'] = ''
processing = 'Coluna Classe criada à partir de Fase e Situação'
Base.register_log(df, processing, 'Classe', a)
df['FrequĂȘncia'] = pd.to_numeric(df['FrequĂȘncia'], errors='coerce').astype('float')
discarded = df[df.FrequĂȘncia.isna()].copy()
discarded = df[df.FrequĂȘncia.isna()]
if not discarded.empty:
log = """[("Colunas", "FrequĂȘncia"),
("Processamento", "Valor Nulo")]"""
self.append2discarded(self.register_log(discarded, log))
processing = 'Coluna FrequĂȘncia com valores nulos'
Base.register_log(discarded, processing)
self.append2discarded(discarded)
df.dropna(subset=['FrequĂȘncia'], inplace=True)
return df.loc[:, self.columns]

Expand All @@ -135,22 +139,21 @@ def _format(
) -> pd.DataFrame: # DataFrame formatado
"""Formata, limpa e padroniza os dados provenientes da query no banco"""
df['Status'] = 'L'
df['Entidade'] = df.Entidade.str.strip()
df['Entidade'] = df.Entidade.astype('string', copy=False).str.strip()
df['Fonte'] = 'STEL'
df['Largura_EmissĂŁo'] = df['Largura_EmissĂŁo'].astype('string', copy=False)
df.loc[:, ['Largura_EmissĂŁo(kHz)', '_']] = (
df.Largura_EmissĂŁo.fillna('').apply(self.parse_bw).tolist()
)
df.drop(['Largura_EmissĂŁo', '_'], axis=1, inplace=True)
df.loc[:, 'Validade_RF'] = df.Validade_RF.astype('string', copy=False).str.slice(0, 10)
df['FrequĂȘncia'] = df['FrequĂȘncia'].astype('float')
df['FrequĂȘncia'] = pd.to_numeric(df['FrequĂȘncia'], errors='coerce').astype('float')
df.loc[df.Unidade == 'kHz', 'FrequĂȘncia'] = df.loc[df.Unidade == 'kHz', 'FrequĂȘncia'].apply(
lambda x: float(Decimal(x) / Decimal(1000))
)
df.loc[df.Unidade == 'GHz', 'FrequĂȘncia'] = df.loc[df.Unidade == 'GHz', 'FrequĂȘncia'].apply(
lambda x: float(Decimal(x) * Decimal(1000))
)
df.drop('Unidade', axis=1, inplace=True)
df['Multiplicidade'] = 1
df['Log'] = ''
df['Multiplicidade'] = '1'
return df.loc[:, self.columns]

0 comments on commit 4080d02

Please sign in to comment.