This commit is contained in:
2025-03-06 11:08:42 -03:00
parent dcfd2cdeaf
commit e43257ed84
5 changed files with 75 additions and 18110 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +0,0 @@
CODIGO;DECENDIO;KEY;AMPLITUDE;ANO
2244035;3DSEP;3DSEP1980;2;1980
2244035;3DOCT;3DOCT1980;2;1980
2244035;1DNOV;1DNOV1980;1;1980
2244035;2DNOV;2DNOV1980;1;1980
2244035;3DNOV;3DNOV1980;1;1980
2244035;1DDEC;1DDEC1980;1;1980
2244035;2DDEC;2DDEC1980;1;1980
2244035;1DJAN;1DJAN1981;1;1981
2244035;1DFEB;1DFEB1981;1;1981
2244035;3DFEB;3DFEB1981;3;1981
2244035;2DFEB;2DFEB1981;3;1981
1 CODIGO DECENDIO KEY AMPLITUDE ANO
2 2244035 3DSEP 3DSEP1980 2 1980
3 2244035 3DOCT 3DOCT1980 2 1980
4 2244035 1DNOV 1DNOV1980 1 1980
5 2244035 2DNOV 2DNOV1980 1 1980
6 2244035 3DNOV 3DNOV1980 1 1980
7 2244035 1DDEC 1DDEC1980 1 1980
8 2244035 2DDEC 2DDEC1980 1 1980
9 2244035 1DJAN 1DJAN1981 1 1981
10 2244035 1DFEB 1DFEB1981 1 1981
11 2244035 3DFEB 3DFEB1981 3 1981
12 2244035 2DFEB 2DFEB1981 3 1981

File diff suppressed because it is too large Load Diff

13
app.py
View File

@@ -13,8 +13,9 @@ def mostrar_menu():
print("----------------------------------------------------------------")
print("41 - Processar veranicos com estacao chuvosa")
print("42 - Processar Classicação veranicos")
print("47 - gerar matriz veranicos csv vinal")
print("51 - gerar matriz PREENCHIDA vinal")
print("47 - gerar matriz veranicos csv final")
print("51 - gerar matriz PREENCHIDA final")
print("61 - gerar planilha final")
print("----------------------------------------------------------------")
print("0 - Sair")
@@ -48,8 +49,12 @@ def main():
classificacao_veranicos.gerarmatrizembraco()
elif opcao == "51":
classificacao_veranicos.gerarmatrizfinal()
classificacao_veranicos.gerarmatrizfinal()
elif opcao == "61":
classificacao_veranicos.exportarcalc()
elif opcao == "0":

View File

@@ -71,7 +71,7 @@ def rodar_decendio(decendios,qtd_veranicos, estacoes, file):
print("Decendio...")
estacoes= [2244035]
#estacoes= [2244035]
#decendios = decendios.head(24)
resultados = []
@@ -287,74 +287,79 @@ def gerarmatrizfinal():
destino_df.to_csv(filedestino, sep=";", index=False, encoding="utf-8")
def exportarcalc():
csv_file = "teste.csv"
ods_file = "saida.ods"
destino = "51planilha"
origem = '47descendiofinal'
# Ler o CSV
df = pd.read_csv(csv_file, delimiter=";", encoding="utf-8")
files = listar_csvs(origem)
# Criar documento ODS
ods = OpenDocumentSpreadsheet()
table = Table(name="Dados")
# Adicionar linha do ESTACAO
estacao = "2022454" # Valor fixo conforme exemplo
ano_hidrologico = f"ESTACAO: {estacao}"
row_ano = TableRow()
cell_ano = TableCell()
cell_ano.addElement(P(text=ano_hidrologico))
row_ano.addElement(cell_ano)
table.addElement(row_ano)
# Preparar os anos hidrológicos únicos
anos = df['ANO'].unique() # Pegar anos únicos
# Adicionar linha de cabeçalho com os anos
row_periodo = TableRow()
# Primeira célula vazia para alinhamento
cell_vazia = TableCell()
cell_vazia.addElement(P(text="DECÊNDIO"))
row_periodo.addElement(cell_vazia)
# Adicionar cada ano como cabeçalho
for ano in anos:
for file in files:
print(f"Encontrada pasta: ./{origem}/{file}")
df = pd.read_csv(f"./{origem}/{file}", delimiter=";", encoding="utf-8")
ods = OpenDocumentSpreadsheet()
table = Table(name="Dados")
# Adicionar linha do ESTACAO
estacao = os.path.splitext(file)[0]
ano_hidrologico = f"ESTACAO: {estacao}"
row_ano = TableRow()
cell_ano = TableCell()
cell_ano.addElement(P(text=str(ano)))
row_periodo.addElement(cell_ano)
table.addElement(row_periodo)
# Agrupar dados por decêndio
decendios = df['DECENDIO'].unique()
# Adicionar os dados
for decendio in decendios:
table_row = TableRow()
cell_ano.addElement(P(text=ano_hidrologico))
row_ano.addElement(cell_ano)
table.addElement(row_ano)
# Primeira célula com o nome do decêndio
cell_decendio = TableCell()
cell_decendio.addElement(P(text=decendio))
table_row.addElement(cell_decendio)
# Preparar os anos hidrológicos únicos
anos = df['ANO'].unique() # Pegar anos únicos
# Adicionar valores para cada ano
# Adicionar linha de cabeçalho com os anos
row_periodo = TableRow()
# Primeira célula vazia para alinhamento
cell_vazia = TableCell()
cell_vazia.addElement(P(text="DECÊNDIO"))
row_periodo.addElement(cell_vazia)
# Adicionar cada ano como cabeçalho
for ano in anos:
# Filtrar o valor para o decêndio e ano específico
valor = df[(df['DECENDIO'] == decendio) & (df['ANO'] == ano)]['AMPLIUDE'].iloc[0] if not df[(df['DECENDIO'] == decendio) & (df['ANO'] == ano)].empty else 0
cell_valor = TableCell()
cell_valor.addElement(P(text=str(valor)))
table_row.addElement(cell_valor)
cell_ano = TableCell()
cell_ano.addElement(P(text=str(ano)))
row_periodo.addElement(cell_ano)
table.addElement(row_periodo)
table.addElement(table_row)
# Adicionar a tabela ao documento
ods.spreadsheet.addElement(table)
# Salvar o arquivo ODS
ods.save(ods_file)
# Agrupar dados por decêndio
decendios = df['DECENDIO'].unique()
# Adicionar os dados
for decendio in decendios:
table_row = TableRow()
# Primeira célula com o nome do decêndio
cell_decendio = TableCell()
cell_decendio.addElement(P(text=decendio))
table_row.addElement(cell_decendio)
# Adicionar valores para cada ano
for ano in anos:
# Filtrar o valor para o decêndio e ano específico
# Changed 'AMPLIUDE' to 'AMPLITUDE'
valor = df[(df['DECENDIO'] == decendio) & (df['ANO'] == ano)]['AMPLITUDE'].iloc[0] if not df[(df['DECENDIO'] == decendio) & (df['ANO'] == ano)].empty else 0
cell_valor = TableCell()
cell_valor.addElement(P(text=str(valor)))
table_row.addElement(cell_valor)
table.addElement(table_row)
# Adicionar a tabela ao documento
ods.spreadsheet.addElement(table)
file2 = f"./{destino}/{estacao}.ods"
if os.path.exists(file2):
os.remove(file2)
# Salvar o arquivo ODS
ods.save(file2)
def carregar_decendios(file):