Spaces:
Sleeping
Sleeping
File size: 1,983 Bytes
71f38f0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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}") |