import pandas as pd import os # Caminho onde estão as subpastas com os arquivos CSV pasta_entrada = r"C:\Users\andressa.rocha\OneDrive - GRUPO GINSENG\2025\SUPRIMENTOS\ANALISE ESTOQUE\ESTOQUE" # Caminho da pasta de saída pasta_saida = r"C:\Users\andressa.rocha\OneDrive - GRUPO GINSENG\2025\SUPRIMENTOS\ANALISE ESTOQUE\ESTOQUE_UNIFICADO" # Garante que a pasta de saída existe os.makedirs(pasta_saida, exist_ok=True) # Lista todas as subpastas dentro de "ESTOQUE" subpastas = [os.path.join(pasta_entrada, d) for d in os.listdir(pasta_entrada) if os.path.isdir(os.path.join(pasta_entrada, d))] df_list = [] # Percorre todas as subpastas for subpasta in subpastas: arquivos = [f for f in os.listdir(subpasta) if f.endswith(".csv")] nome_pasta = os.path.basename(subpasta) # Obtém o nome da pasta for arquivo in arquivos: caminho_arquivo = os.path.join(subpasta, arquivo) try: df = pd.read_csv(caminho_arquivo, encoding="utf-8", low_memory=False) # Melhor para grandes volumes de dados df["Arquivo_Origem"] = arquivo # Adiciona o nome do arquivo de origem df["Pasta_Origem"] = nome_pasta # Adiciona o nome da pasta de origem df_list.append(df) except Exception as e: print(f"Erro ao ler o arquivo {arquivo}: {e}") if df_list: df_final = pd.concat(df_list, ignore_index=True) # Caminho do arquivo unificado na pasta de saída caminho_saida = os.path.join(pasta_saida, "ESTOQUE_UNIFICADO.csv") df_final.to_csv(caminho_saida, index=False, encoding="utf-8") print(f"Arquivo unificado salvo em: {caminho_saida}") else: print("Nenhum arquivo pôde ser processado.")