Skip to content

Repository files navigation

Data Extraction Python 🚀

Projeto modular em Python para extração, tratamento e processamento de dados (Google Sheets, bancos de dados relacionais, etc.), totalmente voltado para facilidade de manutenção, resiliência e execução isolada via Docker.


✨ Recursos e Diferenciais

  • Tratamento Inteligente de Colunas: Identifica e renomeia automaticamente colunas duplicadas (ex: e-mail, e-mail_1) ou sem nome (coluna_1), eliminando a necessidade de ajustes manuais nas planilhas.
  • Zero Código Hardcoded: Todas as credenciais, IDs e caminhos de arquivo são configurados de forma segura através do .env.
  • Conteinerização Moderna: Preparado para execução via Docker e Docker Compose V2.
  • Estrutura Limpa e Extensível: Código organizado sob o diretório src/ com suporte nativo a logs formatados.

📁 Arquitetura do Repositório

data-extraction-python/
├── docs/                 # Documentação técnica e guias de configuração
│   ├── architecture.md   # Detalhes da arquitetura do projeto
│   └── setup.md          # Passo a passo de instalação local/Docker
├── src/                  # Código-fonte principal da aplicação
│   ├── config.py         # Carregamento centralizado de configurações (.env)
│   ├── extractors/       # Módulos de extração de dados (ex: sheets_extractor.py)
│   └── utils/            # Utilitários gerais (logger, formatações)
├── data/                 # Armazenamento de dados local (ignorado no Git)
│   ├── raw/              # Arquivos e dados brutos
│   └── processed/        # Dados limpos e exportados em CSV
├── Dockerfile            # Imagem Docker da aplicação
├── docker-compose.yml    # Orquestração de contêineres (App + PostgreSQL)
└── LICENSE               # Licença de código aberto (MIT)

🛠️ Como Executar

1. Pré-requisitos e Configuração Inicial

Copie o modelo de variáveis de ambiente e preencha suas configurações:

cp .env.example .env

Para conectar ao Google Sheets, insira seu credentials.json na raiz do projeto e atualize o GOOGLE_SHEETS_ID no .env.

2. Executando com Docker (Recomendado)

# Subir ambiente com Docker Compose
docker compose up --build

3. Executando Localmente (Python 3.12+)

# Instalar dependências
pip install -r requirements.txt

# Rodar extrator do Google Sheets
python -m src.extractors.sheets_extractor

📄 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.

About

Pipeline automatizada em Python para extração, higienização e estruturação de dados de sistemas legados e planilhas — transformando dados brutos em inteligência acionável para PMEs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages