Ruptura_Projetada/CODIGO PY/PARQUET_COD.UNIFICARESTOQUE.py
2025-10-24 15:54:54 -03:00

47 lines
1.7 KiB
Python

import pandas as pd
import os
# Caminhos
pasta_entrada = r"C:\Users\andressa.rocha\OneDrive - GRUPO GINSENG\2025\CONSULTA_ESTOQUE"
pasta_saida = r"C:\Users\andressa.rocha\OneDrive - GRUPO GINSENG\2025\SUPRIMENTOS\ANALISE_ESTOQUE"
os.makedirs(pasta_saida, exist_ok=True)
# Lista subpastas
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)
try:
parte_final = nome_pasta.split('_')[-1]
data_estoque = pd.to_datetime(parte_final[:8], format="%Y%m%d", errors='coerce')
except Exception:
data_estoque = pd.NaT
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["data_estoque"] = data_estoque
df_list.append(df)
except Exception as e:
print(f"Erro ao ler o arquivo {arquivo}: {e}")
# Unifica e salva
if df_list:
df_final = pd.concat(df_list, ignore_index=True)
df_final["data_estoque"] = pd.to_datetime(df_final["data_estoque"], errors="coerce")
df_final = df_final.dropna(subset=["data_estoque"])
df_final = df_final.drop_duplicates(subset=["data_estoque"])
caminho_saida = os.path.join(pasta_saida, "ESTOQUE_UNIFICADO.parquet")
df_final.to_parquet(caminho_saida, index=False)
print(f"✅ Arquivo Parquet salvo com sucesso em:\n{caminho_saida}")
else:
print("⚠️ Nenhum arquivo CSV foi encontrado para processar.")