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

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):