44 lines
1.6 KiB
Python
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.")
|
|
|