Compare commits

...

2 Commits

Author SHA1 Message Date
3fde1296ee final 2025-03-22 20:04:41 -03:00
43d68b2c67 d 2025-03-22 16:13:14 -03:00
74 changed files with 58716 additions and 29 deletions

View File

@@ -55,6 +55,9 @@ def listar_pastas(diretorio):
def carregar_arquivoxls_mais_proxima(): def carregar_arquivoxls_mais_proxima():
print("Carregando arquivo...") print("Carregando arquivo...")
print("TEM QUE ABRIR O ARQUIVOB E VERIFICAS AS COORDENADAS...")
diretorio = 'data' # nome da pasta principal diretorio = 'data' # nome da pasta principal
destino= "11estacaoproxima" destino= "11estacaoproxima"
@@ -81,7 +84,7 @@ def calcular_distancia(lat1, lon1, lat2, lon2):
def processar_arquivos_xls(arquivo, output_csv): def processar_arquivos_xls(arquivo, output_csv):
db = pd.read_excel(arquivo, decimal='.') db = pd.read_excel(arquivo, decimal='.') #LENDO PONTO
db.columns = db.columns.str.strip() db.columns = db.columns.str.strip()
@@ -98,11 +101,11 @@ def processar_arquivos_xls(arquivo, output_csv):
print("Uma ou mais colunas esperadas não estão presentes no DataFrame.") print("Uma ou mais colunas esperadas não estão presentes no DataFrame.")
df.to_csv(output_csv, sep=";", encoding='utf-8', decimal=',', index=False) df.to_csv(output_csv, sep=";", encoding='utf-8', decimal='.', index=False)
def processar_arquivos_xls2(output_csv): def processar_arquivos_xls2(output_csv):
df = pd.read_csv(output_csv, encoding='utf-8', sep=';', decimal=',') df = pd.read_csv(output_csv, encoding='utf-8', sep=';', decimal='.')
df['1p'] = '' df['1p'] = ''
df['2p'] = '' df['2p'] = ''
df['3p'] = '' df['3p'] = ''

View File

@@ -57,19 +57,24 @@ def estacaochuvosa(dados, output_csv):
try: try:
dados['VALOR'] = dados['VALOR'].astype(str) # Garantir que todos os valores são strings # Garantir que os valores numéricos estão corretos antes de processar
dados_df['VALOR'] = dados_df['VALOR'].astype(str).str.replace(',', '.')
# Substituir vírgulas por pontos
dados['VALOR'] = dados['VALOR'].str.replace(',', '.', regex=False) # Verificar se alguma linha ainda tem valores inválidos antes da conversão
for index, valor in dados_df['VALOR'].items():
# Converter a coluna 'VALOR' para float try:
dados['VALOR'] = pd.to_numeric(dados['VALOR'], errors='coerce') dados_df.at[index, 'VALOR'] = float(valor)
except ValueError:
print(f"Erro ao converter 'VALOR' na linha {index + 2}: '{valor}'") # +2 pois index começa em 0 e CSV tem cabeçalho
# Converter a coluna inteira para float após a verificação
dados_df['VALOR'] = dados_df['VALOR'].astype(float)
# Tratar valores NaN substituindo por 0 # Tratar valores NaN substituindo por 0
dados['VALOR'] = dados['VALOR'].fillna(0) dados_df['VALOR'] = dados_df['VALOR'].fillna(0)
except Exception as e: except Exception as e:
print(f"Erro ao converter a coluna 'VALOR': {e}") print(f"Erro geral ao converter a coluna 'VALOR': {e}")
@@ -113,7 +118,7 @@ def estacaochuvosa(dados, output_csv):
for index, row in df_inciochuva.iterrows(): for index, row in df_inciochuva.iterrows():
# print(index, ' ', row) # print(index, ' ', row)
leitura_chuva = row['VALOR']#float(row['VALOR'].replace(',', '.')) leitura_chuva = float(row['VALOR'])#float(row['VALOR'].replace(',', '.'))
if leitura_chuva>=0: if leitura_chuva>=0:
somador_ml= somador_ml+leitura_chuva somador_ml= somador_ml+leitura_chuva

Binary file not shown.

View File

Can't render this file because it is too large.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
,felipe,pop-os,22.03.2025 15:50,file:///home/felipe/.config/libreoffice/4;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -12,7 +12,7 @@ def listar_pastas(diretorio):
def completar_com_valores_menos_um(dados, estacao, output): 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' start_date = '1980-01-01'
end_date = '2024-12-31' end_date = '2024-12-31'
@@ -21,7 +21,7 @@ def completar_com_valores_menos_um(dados, estacao, output):
dados_df=filtered_df dados_df=filtered_df
dados_df.head(2) 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) estacao_df.head(2)
@@ -47,8 +47,17 @@ def completar_com_valores_menos_um(dados, estacao, output):
# Iterar sobre AtualizaDados para atualizar os valores # Iterar sobre AtualizaDados para atualizar os valores
for index, row in AtualizaDados.iterrows(): for index, row in AtualizaDados.iterrows():
print(f"\rProcessando linha {index+1}/{total}", end='') 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'] data = row['DATA']
if valor <= -1: if valor <= -1:
log_file.write(f"Código: {row['CODIGO']}, Data: {row['DATA']}, Valor: {valor}\n") 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") 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:
if len(valor_proximo) > 0 and valor_proximo[0] > -1: try:
AtualizaDados.loc[index, 'VALOR'] = valor_proximo[0] valor_num = float(valor_proximo[0].replace(',', '.')) # Converte para número
ultimo_codigo_achado = codigo_proximo if valor_num > -1:
ultimo_valor_atualizado = valor_proximo[0] 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") log_file.write(f"Valor atual {row['VALOR']} - Valor atualizado para: {valor_num}\n")
break # Parar o loop se encontrar um valor válido
break # Parar o loop se encontrar um valor válido except ValueError:
else: log_file.write(f"****Erro ao converter valor_proximo: {valor_proximo[0]}\n")
log_file.write(f"****Não achou o valor \n")
somente_valores_menores_ou_igual_a_menos_um = True # 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({ log_info.append({
'CODIGO': row['CODIGO'], 'CODIGO': row['CODIGO'],