final
This commit is contained in:
41
processar.py
41
processar.py
@@ -12,7 +12,7 @@ def listar_pastas(diretorio):
|
||||
def completar_com_valores_menos_um(dados, estacao, output):
|
||||
|
||||
|
||||
dados_df = pd.read_csv(dados, sep=';', decimal=',', parse_dates=['DATA'], dayfirst=True)
|
||||
dados_df = pd.read_csv(dados, sep=';', decimal='.', parse_dates=['DATA'], dayfirst=True)
|
||||
start_date = '1980-01-01'
|
||||
end_date = '2024-12-31'
|
||||
|
||||
@@ -21,7 +21,7 @@ def completar_com_valores_menos_um(dados, estacao, output):
|
||||
dados_df=filtered_df
|
||||
|
||||
dados_df.head(2)
|
||||
estacao_df = pd.read_csv(estacao, encoding='utf-8', sep=';', decimal=',')
|
||||
estacao_df = pd.read_csv(estacao, encoding='utf-8', sep=';', decimal='.')
|
||||
estacao_df.head(2)
|
||||
|
||||
|
||||
@@ -47,8 +47,17 @@ def completar_com_valores_menos_um(dados, estacao, output):
|
||||
# Iterar sobre AtualizaDados para atualizar os valores
|
||||
for index, row in AtualizaDados.iterrows():
|
||||
print(f"\rProcessando linha {index+1}/{total}", end='')
|
||||
valor = row['VALOR']
|
||||
|
||||
valor_str = row['VALOR'].replace(',', '.') # Substitui vírgula por ponto
|
||||
try:
|
||||
valor = float(valor_str) # Converte para número
|
||||
except ValueError:
|
||||
print(f"Erro ao converter o valor: {row['VALOR']}")
|
||||
valor = -1 # Define um valor padrão ou trata o erro de outra forma
|
||||
|
||||
data = row['DATA']
|
||||
|
||||
|
||||
if valor <= -1:
|
||||
|
||||
log_file.write(f"Código: {row['CODIGO']}, Data: {row['DATA']}, Valor: {valor}\n")
|
||||
@@ -64,18 +73,22 @@ def completar_com_valores_menos_um(dados, estacao, output):
|
||||
|
||||
log_file.write(f"{i}codigo: {codigo_proximo} Valor: {valor_proximo}\n")
|
||||
|
||||
# Verificar se o valor encontrado não é menor ou igual a -1
|
||||
if len(valor_proximo) > 0 and valor_proximo[0] > -1:
|
||||
AtualizaDados.loc[index, 'VALOR'] = valor_proximo[0]
|
||||
ultimo_codigo_achado = codigo_proximo
|
||||
ultimo_valor_atualizado = valor_proximo[0]
|
||||
if len(valor_proximo) > 0:
|
||||
try:
|
||||
valor_num = float(valor_proximo[0].replace(',', '.')) # Converte para número
|
||||
if valor_num > -1:
|
||||
AtualizaDados.loc[index, 'VALOR'] = valor_num
|
||||
ultimo_codigo_achado = codigo_proximo
|
||||
ultimo_valor_atualizado = valor_num
|
||||
|
||||
log_file.write(f"Valor atual {row['VALOR']} - Valor atualizado para: {valor_proximo[0]}\n")
|
||||
|
||||
break # Parar o loop se encontrar um valor válido
|
||||
else:
|
||||
log_file.write(f"****Não achou o valor \n")
|
||||
somente_valores_menores_ou_igual_a_menos_um = True
|
||||
log_file.write(f"Valor atual {row['VALOR']} - Valor atualizado para: {valor_num}\n")
|
||||
break # Parar o loop se encontrar um valor válido
|
||||
except ValueError:
|
||||
log_file.write(f"****Erro ao converter valor_proximo: {valor_proximo[0]}\n")
|
||||
|
||||
# Caso não encontre um valor válido
|
||||
log_file.write(f"****Não achou o valor \n")
|
||||
somente_valores_menores_ou_igual_a_menos_um = True
|
||||
|
||||
log_info.append({
|
||||
'CODIGO': row['CODIGO'],
|
||||
|
||||
Reference in New Issue
Block a user