This commit is contained in:
2025-03-22 20:04:41 -03:00
parent 43d68b2c67
commit 3fde1296ee
8 changed files with 50 additions and 469657 deletions

View File

@@ -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'],