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.
- 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.
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)
Copie o modelo de variáveis de ambiente e preencha suas configurações:
cp .env.example .envPara conectar ao Google Sheets, insira seu credentials.json na raiz do projeto e atualize o GOOGLE_SHEETS_ID no .env.
# Subir ambiente com Docker Compose
docker compose up --build# Instalar dependências
pip install -r requirements.txt
# Rodar extrator do Google Sheets
python -m src.extractors.sheets_extractorEste projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para mais detalhes.