import pandas as pd import numpy as np import os from datetime import date def unificador_estoque(pasta_entrada): hoje = date.today().isoformat() caminho_saida = os.path.join(pasta_entrada, f"compilado_estoque_{hoje}.xlsx") print("Salvando em:", caminho_saida) 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 = [] for subpasta in subpastas: arquivos = [f for f in os.listdir(subpasta) if f.endswith(".csv")] nome_pasta = os.path.basename(subpasta) for arquivo in arquivos: caminho_arquivo = os.path.join(subpasta, arquivo) try: df = pd.read_csv(caminho_arquivo, encoding="utf-8", low_memory=False) df["Arquivo_Origem"] = arquivo df["Pasta_Origem"] = nome_pasta df_list.append(df) except Exception as e: print(f"Erro ao ler o arquivo {arquivo}: {e}") if not df_list: raise ValueError("Nenhum arquivo CSV vĂ¡lido foi encontrado.") df_estoque = pd.concat(df_list, ignore_index=True) df_estoque["PDV"] = df_estoque["PDV"].astype(str) df_estoque["SKU_FINAL"] = np.where( df_estoque["SKU_PARA"] == "-", df_estoque["SKU"], df_estoque["SKU_PARA"] ).astype(str) try: df_estoque.to_excel(caminho_saida, index=False) except Exception as e: raise RuntimeError(f"Erro ao salvar o arquivo Excel: {e}") return caminho_saida