Curso de Python para servidores da SEDUC-PI Planilhas, Relatorios em PDF e Documentos em Word - de forma automatica.
Primeiro entender o problema, depois o pensamento computacional, e so entao escrever o codigo (com a ajuda da IA).
Nao comecamos decorando comandos de Python. Comecamos com um problema real do nosso trabalho e o quebramos usando os 4 pilares do pensamento computacional:
- Decomposicao - quebrar o problema grande em passos pequenos.
- Padrao - perceber o que se repete (ex.: "uma declaracao por pessoa").
- Abstracao - separar o que importa do que e detalhe.
- Algoritmo - escrever o passo a passo em portugues, antes do codigo.
Com esses 4 elementos na mao, fica facil pedir para a IA generativa (ChatGPT, Claude, Gemini, Copilot...) gerar o Python certo - e, principalmente, entender e conferir o que ela devolveu.
Voce recebeu a exportacao de um formulario (o nivelamento da nossa turma) e precisa entregar, para 16 pessoas - ou 300:
- Uma planilha limpa e organizada (Excel).
- Um grafico do nivel da turma.
- Um relatorio em PDF de 1 pagina para a coordenacao.
- Uma declaracao em Word para cada participante.
Fazer isso na mao e inviavel. Fazer com Python leva segundos - e serve para o seu proprio dado depois.
Abra esta pasta no VS Code e, no terminal (menu Terminal > Novo Terminal), rode:
.\setup\preparar_ambiente.ps1Isso cria o ambiente virtual .venv, instala as bibliotecas e roda um diagnostico.
Se algo der errado, veja o passo a passo detalhado (e o plano B pelo Google Colab)
em setup/COMO_COMECAR.md.
A qualquer momento voce pode rodar o diagnostico sozinho:
python setup\preparar_ambiente.pyEle mostra, com ✔ e ✖, a versao do Python, se voce esta no ambiente virtual e quais bibliotecas estao instaladas ou faltando - sempre com o comando exato para corrigir.
| Ordem | Arquivo | O que voce aprende |
|---|---|---|
| 1 | notebooks/00_pensamento_computacional.ipynb |
O problema + os 4 pilares + como pedir codigo para a IA |
| 2 | notebooks/01_planilhas_pandas.ipynb |
Ler, limpar, analisar e exportar Excel (pandas + openpyxl) |
| 3 | notebooks/02_graficos_matplotlib.ipynb |
Grafico do nivel da turma (matplotlib) |
| 4 | notebooks/03_relatorio_pdf.ipynb |
Gerar PDF (reportlab) e juntar PDFs (pypdf) |
| 5 | notebooks/04_word_docx.ipynb |
Uma declaracao em Word por pessoa (python-docx) |
| Fim | entregaveis/gerar_pacote.py |
Tudo junto num script que roda no terminal |
Identidade visual: os documentos gerados saem com a cara do Estado - brasão do Piauí, marca d'água e cores institucionais. Isso fica centralizado em
entregaveis/estilo.py(cores, gráficos e a "papelaria" do PDF) e nos arquivos deassets/(brasao.png,marca_dagua.png). Para usar em outro órgão, basta trocar obrasao.pnge as cores noestilo.py.
dados/nivelamento_anonimizado.csv- respostas reais da turma, sem nome e sem e-mail (anonimizadas). E o dado que usamos na aula.dados/nivelamento_bruto_exemplo.csv- uma planilha "suja" de proposito (nomes ficticios, espacos, duplicatas, e-mail exposto) para treinar limpeza e anonimizacao.dados/sinteticos/notas_escolas.csv- 660 linhas de notas por escola (dados ficticios) para mostrar que o mesmo codigo escala.
Privacidade: nenhum nome ou e-mail real e guardado neste repositorio. Anonimizar dados e a primeira coisa que praticamos no notebook 01.
Este repositorio e um modelo do seu trabalho de verdade. Depois de rodar com os dados da turma:
- Salve a sua planilha em
dados/(exportada do Excel/Sheets como.csv). - No notebook ou no
gerar_pacote.py, troque o nome do arquivo lido. - Ajuste as colunas com a ajuda da IA e rode de novo.
O que entregamos hoje e um ponto de partida, nao o teto. Procure os comentarios
# SEU DESAFIO (nos notebooks) e # COMPLETE AQUI (no script) e use o template de
prompt do notebook 00 para pedir a proxima melhoria. Algumas sementes:
- Enviar cada declaracao por e-mail automaticamente.
- Juntar varias planilhas (de varias escolas) num relatorio unico.
- Adicionar uma pagina de dashboard ao PDF, com mais graficos.
- Filtrar so as pessoas de um setor / uma escola / uma turma.
- Gerar oficios ou certificados no lugar da declaracao.
- Ler os dados direto de uma planilha do Google Sheets.
Cada uma dessas comeca do mesmo jeito: descreva o problema, quebre nos 4 pilares, e peca o codigo para a IA.
Dashboards interativos, web scraping, integracao ao vivo com o iSEDUC e bancos de
dados, e empacotar tudo num .exe. Ficam como proximos passos.