45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
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.")
|
|
|
|
|