Loading repository data…
Loading repository data…
gabiaol98 / repository
Projeto ETL para extrair, remover duplicadas, normalizar textos, corrigir e criar colunas derivadas como ano/mês, gerar agregações e carregar tabela tratada no banco, exportar em CSV pronto para uso no Power BI
Pipeline completo de ETL (Extract, Transform, Load) desenvolvido em Python para extração, transformação e carga de dados, com exportação otimizada para análise no Power BI.
etl_python_powerBi/
│
├── config/
│ └── db_config.py # Configurações de conexão com banco de dados
│
├── extract/
│ └── extract_data.py # Módulo de extração de dados
│
├── transform/
│ └── transform_data.py # Módulo de transformação e limpeza
│
├── load/
│ └── load_data.py # Módulo de carga e exportação
│
├── main.py # Arquivo principal de execução
└── README.md # Documentação do projeto
Clone o repositório ou faça download dos arquivos
Instale as dependências:
pip install pandas sqlalchemy psycopg2-binary
config/db_config.py:def get_engine():
user = "seu_usuario"
password = "sua_senha"
host = "localhost"
port = "5432"
db = "nome_do_banco"
return create_engine(f"postgresql://{user}:{password}@{host}:{port}/{db}")
vendas existe no banco de dados com a estrutura esperada:
cliente (texto)data_venda (data)valor (numérico)categoria (texto)Execute o pipeline ETL completo com o comando:
python main.py
vendas do banco de dadosvendas_tratadasvendas_powerbi.csv no diretório raizApós a execução bem-sucedida:
vendas_powerbi.csv geradocliente: Nome do clienteano_mes: Período (formato YYYY-MM)total_vendas: Soma total de vendas do cliente no períodoquantidade: Número de transações do cliente no períodoextract/extract_data.py)Responsável por conectar ao banco de dados e extrair dados da tabela especificada utilizando SQLAlchemy.
transform/transform_data.py)Aplica transformações e limpeza nos dados:
load/load_data.py)Gerencia a carga de dados tratados:
main.py)Orquestra todo o pipeline ETL, executando os módulos na sequência correta.
Modifique a chamada em main.py:
df_raw = extract_table("nome_da_tabela")
Edite a função clean_and_transform() em transform/transform_data.py
Altere o parâmetro em main.py:
export_for_powerbi(df_final, "novo_nome.csv")
vendas_tratadas será recriada (substituída) no banco de dados a cada execuçãoEste projeto está disponível para uso educacional e comercial.
Desenvolvido com Python 🐍 | Otimizado para Power BI 📊