""" Pipeline de Automação e Análise de Dados Autor: Gil Lemos (@gillemosai) - Especialista em IA e Automação Descrição: Script de amostra para ingestão, limpeza, conciliação e exportação de relatórios financeiros e operacionais em segundos. """ import pandas as pd import datetime def processar_base_dados(caminho_arquivo: str) -> dict: print(f"[{datetime.datetime.now().strftime('%H:%M:%S')}] Iniciando processamento do arquivo: {caminho_arquivo}") # 1. Carregamento dos dados brutos com Pandas df = pd.read_csv(caminho_arquivo, sep=';', encoding='utf-8') total_linhas_inicial = len(df) # 2. Higienização e Tipagem df['Valor_Bruto'] = pd.to_numeric(df['Valor_Bruto'], errors='coerce') df['Taxa_Operacao'] = pd.to_numeric(df['Taxa_Operacao'], errors='coerce') df['Valor_Liquido'] = pd.to_numeric(df['Valor_Liquido'], errors='coerce') df['Data'] = pd.to_datetime(df['Data']) # 3. Métricas Executivas receita_total = df[df['Tipo'] == 'Receita']['Valor_Bruto'].sum() despesa_total = df[df['Tipo'] == 'Despesa']['Valor_Bruto'].sum() lucro_operacional = receita_total - despesa_total margem_geral = (lucro_operacional / receita_total * 100) if receita_total > 0 else 0 # 4. Agrupamento por Centro de Custo resumo_centros = df.groupby(['Centro_Custo', 'Tipo'])['Valor_Liquido'].sum().unstack().fillna(0) kpis = { "status": "SUCESSO", "registros_processados": total_linhas_inicial, "receita_bruta": round(float(receita_total), 2), "despesas_totais": round(float(despesa_total), 2), "lucro_operacional": round(float(lucro_operacional), 2), "margem_percentual": f"{margem_geral:.1f}%", "timestamp_fechamento": datetime.datetime.now().isoformat() } print(f"[{datetime.datetime.now().strftime('%H:%M:%S')}] Concluído com sucesso! Lucro: R$ {lucro_operacional:,.2f}") return kpis if __name__ == "__main__": resultado = processar_base_dados("amostra_dashboard_financeiro.csv") print(resultado)