Ruptura_Projetada/CODIGO PY/UNIFICAR METAPEF.py
2025-10-24 15:54:54 -03:00

44 lines
1.6 KiB
Python

import pandas as pd
import os
# Defina os caminhos
pasta_entrada = r"C:\Users\andressa.rocha\Downloads\meta pef"
pasta_saida = r"C:\Users\andressa.rocha\OneDrive - GRUPO GINSENG\2025\SUPRIMENTOS\REUNIÕES\CONSELHO\06 - JUNHO\DADOS JUNHO\METAPEF"
os.makedirs(pasta_saida, exist_ok=True)
# Lista todos os arquivos .xlsx
arquivos_xlsx = []
for raiz, dirs, arquivos in os.walk(pasta_entrada):
for arquivo in arquivos:
if arquivo.endswith(".xlsx"):
arquivos_xlsx.append(os.path.join(raiz, arquivo))
# Unificar arquivos da segunda aba
df_list = []
for arquivo in arquivos_xlsx:
try:
# Lê o nome da segunda aba
abas = pd.ExcelFile(arquivo, engine='openpyxl').sheet_names
if len(abas) >= 2:
segunda_aba = abas[1]
df = pd.read_excel(arquivo, sheet_name=segunda_aba, engine='openpyxl')
df["Arquivo_Origem"] = os.path.basename(arquivo)
df_list.append(df)
else:
print(f"⚠️ O arquivo {arquivo} não possui uma segunda aba.")
except Exception as e:
print(f"Erro ao ler o arquivo {arquivo}: {e}")
# Concatenar e salvar em parquet
if df_list:
df_final = pd.concat(df_list, ignore_index=True)
df_final = df_final.astype(str) # Converte todas as colunas para string
caminho_saida = os.path.join(pasta_saida, "METAPEF.parquet")
df_final.to_parquet(caminho_saida, index=False)
print("✅ Arquivo Parquet salvo com sucesso!")
print(f"📂 Total de arquivos unificados: {len(df_list)}")
else:
print("⚠️ Nenhum dado foi processado a partir da segunda aba dos arquivos.")