Skip to content

NDarlingMoon/GKA

Repository files navigation

Script de Automação - Report GKA

Sistema automatizado para consolidação, limpeza e enriquecimento de dados de Sell-In e OEM para relatórios GKA. O projeto utiliza engenharia de dados moderna para garantir a integridade dos arquivos e a padronização das chaves de negócio.

Arquitetura do Projeto

O sistema é dividido em módulos especializados para garantir alta manutenibilidade:

  • Settings.py: Gerenciamento de configurações via YAML com validação de esquemas (Pydantic). Garante que o script só inicie se todos os arquivos existirem.

  • Utils.py: Biblioteca de transformações funcionais otimizadas para uso com o método .pipe() do Pandas.

  • Config.yaml: Fonte para caminhos de arquivos e parâmetros de UI.

  • Tests/: Testes automatizados com Pytest cobrindo transformações de dados e integridade de configuração.

Execução

1. Pré-requisitos

Clone o repositório e instale as dependências:

pip install -r requirements.txt

2. Configuração

Edite o arquivo config.yaml para apontar para os seus diretórios locais.

3. Execução

Você pode executar o processo de duas formas:

  • Via Terminal: Execute o notebook ou converta para script.

  • Via Windows: Basta dar um duplo clique no arquivo executar_gka.bat.

Qualidade e Testes

O projeto conta com testes unitários que garantem que as regras de negócio (como o cálculo do Ano-Safra e limpeza de chaves) permaneçam consistentes.

Para rodar os testes:

pytest tests/

Fluxo de Processamento

  • Validação: O Pydantic verifica a existência de todos os arquivos de entrada.

  • Leitura Segura: O utils.read_safe_excel() identifica automaticamente o motor necessário (.xls, .xlsx, .xlsb).

  • Normalização: Aplicação de clean_key() em massa para garantir que IDs não tenham espaços ou divergências.

  • Enriquecimento: Merges sucessivos com o Cadastro de Clientes e Portfólio de Produtos.

  • Output: Geração de um arquivo Excel estilizado com filtros automáticos e painéis congelados.

Estrutura de Arquivos

📂 GKA_Project
├── 📄 script_gka.ipynb    # Lógica principal de processamento
├── 📄 settings.py         # Classe de configuração e validação
├── 📄 utils.py            # Funções de auxílio e transformações
├── 📄 config.yaml         # Mapeamento de caminhos e variáveis
├── 📄 executar_gka.bat    # Automação de execução para usuários
├── 📂 tests/              # Suite de testes unitários
└── 📂 Sheets/             # Diretório de dados (ignorado no Git)

About

Um script em Python para consolidar dados de diferentes planilhas e unificá-las num único relatório final.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors