This commit is contained in:
2025-03-14 11:28:56 -03:00
parent fc7f7b24e9
commit 969e704edb
5 changed files with 38 additions and 13768 deletions

View File

@@ -25,7 +25,7 @@ def processar_Classificao_Veranicos():
for file in files:
print(f"Encontrada pasta: {file}")
qtd_veranicos,estacao = carregar_estacao_com_veranico(file)
print(estacao)
# print(estacao)
rodar_decendio(decendio,qtd_veranicos, estacao, file)
@@ -70,31 +70,50 @@ def diferenca_dias(data1, data2):
def rodar_decendio(decendios,qtd_veranicos, estacoes, file):
destino= "42veranicosclassificacao"
if not os.path.exists(destino):
os.makedirs(destino)
#estacoes= [2143011]
estacoes= [2142009]
#decendios = decendios.head(24)
#estacoes= [2142009]
resultados = []
for estacao in estacoes: # percorre todas as estações array de estacoes
#estacao_fitrada = qtd_veranicos['CODIGO'] == estacao
estacao_fitrada = qtd_veranicos[qtd_veranicos['CODIGO'] == estacao]
#estacao_fitrada = estacao_fitrada.head(10)
print("Quantidade de itens na estação", estacao, ":", len(estacao_fitrada))
exit
if len(estacao_fitrada) == 0:
print(f"Erro: Nenhuma linha encontrada para a estação {estacao} em qtd_veranicos.")
break
total = len(estacao_fitrada)
for index, selecao_estacao in estacao_fitrada.iterrows(): # Itera pelas linhas do DataFrame
print(f"\rProcessando estacao {index+1}/{total}", end='')
data_inicio = pd.to_datetime(selecao_estacao['INICIO'])
data_fim = pd.to_datetime(selecao_estacao['FINAL'])
if pd.isna(data_inicio) or pd.isna(data_fim):
print(f"Erro: Datas inválidas na linha {index} da estação {estacao} - INICIO: {data_inicio}, FINAL: {data_fim}")
continue
filtro = decendios[(decendios['INICIO'] <= data_fim) & (decendios['FINAL'] >= data_inicio)]
quantidade_veranicos = len(filtro)
if quantidade_veranicos <= 0:
print(f"estacao {estacao} - Linha {index} - Data Início: {data_inicio}, Data Fim: {data_fim}, Qtd Veranicos: {quantidade_veranicos}")
continue
dia =selecao_estacao['QTDDIAS']
filtro = filtro.copy() # Para evitar avisos do Pandas
filtro['dias_chuva'] = 0
@@ -108,6 +127,8 @@ def rodar_decendio(decendios,qtd_veranicos, estacoes, file):
#print ('estacao: ',selecao_estacao , ' Qtd Dias: ', diferenca)
if quantidade_veranicos <=0:
print(f"Tem algum problema registros ({quantidade_veranicos} linhas).")
elif quantidade_veranicos <= 1:
#print(f"Tem mais de 1 registros ({quantidade_veranicos} linhas).")
filtro.loc[filtro.index[0], 'dias_chuva'] = diferenca_dias(data_inicio, data_fim)+1
@@ -229,7 +250,13 @@ import pandas as pd
def gerarmatrizembraco():
print("gerar csv 45 ano veranicos..")
origem = '42veranicosclassificacao'
destino= "47descendiofinal"
if not os.path.exists(destino):
os.makedirs(destino)
print(f"Pasta '{destino}' criada.")
files = listar_csvs(origem)
for file in files:
print(f"Encontrada pasta: ./{origem}/{file}")
@@ -252,11 +279,6 @@ def gerarmatrizembraco():
destino= "47descendiofinal"
if not os.path.exists(destino):
os.makedirs(destino)
print(f"Pasta '{destino}' criada.")
file2= f"./{destino}/{codigo}.csv"
if os.path.exists(file2): os.remove(file2)
ano_hidrologico.to_csv(file2, sep=";", encoding="utf-8", index=False)
@@ -270,6 +292,10 @@ def gerarmatrizfinal():
origem= '42veranicosclassificacao'
destino = '47descendiofinal'
if not os.path.exists(destino):
os.makedirs(destino)
print(f"Pasta '{destino}' criada.")
files = listar_csvs(origem)
for file in files: