Laboratorio de mini-projetos para dominar bibliotecas e automacao usadas em projetos reais — especialmente o automacao-dashboard-boletim-escolar.
Progresso: 3 resolvidos de 28 (11%).
Total: 28 exercicios (01 a 28).
← Voltar ao README principal · Fundamentos · Intermediario · Materiais PDF
| Item | Descricao |
|---|---|
| Para quem | Quem ja domina fundamentos e intermediario, ou esta montando automacao com dados |
| Nivel | Bibliotecas reais — pathlib, pandas, streamlit, RPA |
| O que treina | Caminhos, leitura de dados, consolidacao, dashboard e pipeline integrado |
| Cada exercicio | Pasta NN_snake_case/ com README.md, main.py e dados/ (avaliacoes: perguntas.md) |
| Pendencias | Pathlib a partir do 04; pandas, streamlit, RPA e avaliacoes |
Cada exercicio de codigo simula uma demanda real (tom corporativo), explica os conceitos dos comandos antes da tarefa e pede implementacao em main.py — sem solucao pronta.
Regra de ouro: responda as avaliacoes (13, 20, 27, 28) antes de abrir
gabarito.md.
- Trilhas
01_python_fundamentalse02_intermediate_advanced(ou equivalente) - Ambiente virtual Python 3.x
- Dependencias:
pip install -r requirements.txt
git clone https://github.com/GustaFranz/python_exercises.git
cd python_exercises/03_python_libraries
pip install -r requirements.txt
cd 01_pathlib_navegar_pastas
python main.pyPara exercicios Streamlit (21–23):
streamlit run main.pyPara o exercicio 02 (script em src/):
cd 02_pathlib_raiz_do_projeto
python src/main.pyPara exercicios de avaliacao (13, 20, 27, 28): abra perguntas.md — nao ha main.py na raiz.
| Biblioteca | Uso |
|---|---|
| pathlib | Caminhos portaveis, glob, mkdir, write_text |
| shutil | Mover arquivos baixados (Downloads → dados/) |
| pandas | Leitura, merge, groupby, exportacao |
| openpyxl | Leitura de Excel |
| pdfplumber | Extracao de tabelas em PDF |
| streamlit | Dashboard web |
| plotly | Graficos interativos |
| pyautogui | Automacao de interface (RPA) |
Fase 1 — Pathlib, Shutil e leitura (01-13) — 3/13
| # | Exercicio | Biblioteca | Tipo |
|---|---|---|---|
| 01 | Pathlib — Navegar pastas | pathlib | codigo |
| 02 | Pathlib — Raiz do projeto | pathlib | codigo |
| 03 | Pathlib — Montar caminhos | pathlib | codigo |
| 04 | Pathlib — Glob com padroes | pathlib | codigo |
| 05 | Pathlib — Verificar existencia | pathlib | codigo |
| 06 | Pathlib — Criar pastas de saida | pathlib | codigo |
| 07 | Shutil — Mover arquivo | shutil | codigo |
| 08 | Pandas — Ler CSV | pandas | codigo |
| 09 | Pandas — Concat varios CSVs | pandas | codigo |
| 10 | Pandas — Melt formato longo | pandas | codigo |
| 11 | Pandas — Ler Excel | pandas + openpyxl | codigo |
| 12 | PDFPlumber — Extrair tabela | pdfplumber | codigo |
| 13 | Avaliacao — Leitura de dados | revisao fase 1 | perguntas |
Fase 2 — Consolidacao e indicadores (14-20) — 0/7
| # | Exercicio | Biblioteca | Tipo |
|---|---|---|---|
| 14 | Pandas — Merge duas fontes | pandas | codigo |
| 15 | Pandas — Media ponderada | pandas | codigo |
| 16 | Pandas — Regra aprovacao | pandas | codigo |
| 17 | Pandas — Exportar CSV | pandas | codigo |
| 18 | Pandas — Groupby indicadores | pandas | codigo |
| 19 | Pandas — Filtros percentuais | pandas | codigo |
| 20 | Avaliacao — Consolidacao | revisao fase 2 | perguntas |
Fase 3 — Saida, interface e automacao (21-28) — 0/8
| # | Exercicio | Biblioteca | Tipo |
|---|---|---|---|
| 21 | Streamlit — Metricas | streamlit | codigo |
| 22 | Streamlit — Filtro sidebar | streamlit | codigo |
| 23 | Streamlit + Plotly — Grafico | streamlit + plotly | codigo |
| 24 | Gerar boletim HTML | pandas + html | codigo |
| 25 | PyAutoGUI — Coleta portal | pyautogui | codigo |
| 26 | Pipeline integrado | orquestracao | codigo |
| 27 | Avaliacao — Projeto completo | revisao final | perguntas |
| 28 | Avaliacao — Merge triplo e modulos | merge + imports | perguntas |
| Modulo real (boletim escolar) | Exercicios que preparam |
|---|---|
src/leitor_simulados.py |
01, 02, 04, 08, 09, 10 |
src/leitor_provas.py |
11 |
src/leitor_projetos.py |
12 |
src/consolidacao.py |
14, 15, 16, 17 |
src/boletins.py |
06, 24 |
src/automacao_portal.py |
03, 05, 07, 25 |
dashboard.py |
18, 19, 21, 22, 23 |
main.py (orquestracao) |
26 |
Marque seu progresso em progresso.md.
| Onde | Regra |
|---|---|
| Pastas | NN_snake_case — numero + nome sem espacos |
| README | Demanda, Contexto, Conceitos, Tarefas, Criterios, Como executar |
| Codigo | main.py com enunciado em comentarios + area vazia para solucao |
| Dados | Pasta dados/ dentro de cada exercicio |
| Avaliacoes | perguntas.md + gabarito.md (separado) |
Detalhes completos: Convencoes no README principal.
- Faca os exercicios em ordem numerica.
- Complete 01 a 07 antes de avancar no pandas — sao a base de caminhos do boletim.
- Ao terminar cada fase, responda a avaliacao antes de abrir o gabarito.
- Volte ao boletim escolar e releia o modulo correspondente.
Guias em PDF relacionados (pathlib, shutil, pandas): materiais de estudo.
Todos os dados sao ficticios. Nenhum aluno ou instituicao real e representado.
Repositorio de pratica — exercicios incompletos e rascunhos sao esperados.