import pandas as pd import os def carregar_dados_final(): script_dir = os.path.dirname(__file__) caminho_do_arquivo = os.path.join(script_dir, 'dados.csv') df = pd.read_csv(caminho_do_arquivo, header=None, encoding='latin-1', delimiter=';') df.columns = [ 'REMESSA', 'DATA_PEDIDO', 'DATA_RECEBIMENTO', 'DATA_DE_EXPEDICAO', 'RET-E', 'RET-R', 'TIPO_DE_PLASTICO', 'CHIP', 'QTD_PLASTICO', 'DISTRIBUIDORA', 'TIPO_DE_MAQUINA', 'RENOVACAO', 'FABRICA' ] df = df.iloc[1:].reset_index(drop=True) df['DATA_RECEBIMENTO'] = pd.to_datetime(df['DATA_RECEBIMENTO'], dayfirst=True, errors='coerce') df['DATA_DE_EXPEDICAO'] = pd.to_datetime(df['DATA_DE_EXPEDICAO'], dayfirst=True, errors='coerce') df.dropna(subset=['DATA_RECEBIMENTO', 'DATA_DE_EXPEDICAO'], inplace=True) df['QTD_PLASTICO'] = pd.to_numeric(df['QTD_PLASTICO'], errors='coerce').fillna(0) df = df[df['QTD_PLASTICO'] > 0].copy() df['dias_para_expedir'] = (df['DATA_DE_EXPEDICAO'] - df['DATA_RECEBIMENTO']).dt.days df = df[df['dias_para_expedir'] >= 0].copy() df['sla_status'] = df['dias_para_expedir'] <= 3 remessas_atrasadas_ids = df[df['sla_status'] == False]['REMESSA'].unique() df.loc[df['REMESSA'].isin(remessas_atrasadas_ids), 'sla_status'] = False return df try: df_final = carregar_dados_final() total_remessas = df_final['REMESSA'].nunique() remessas_no_prazo = df_final[df_final['sla_status'] == True]['REMESSA'].nunique() remessas_atrasadas = df_final[df_final['sla_status'] == False]['REMESSA'].nunique() print("\n--- Números Finais e Corretos da Análise ---") print(f"Total de Remessas Únicas Relevantes: {total_remessas}") print(f"Total de Remessas No Prazo: {remessas_no_prazo}") print(f"Total de Remessas Atrasadas: {remessas_atrasadas}") print("---------------------------------------------") except Exception as e: print(f"Ocorreu um erro: {e}")