◇ OpenCyber Academy
Técnico · Capítulo 5 · Português

Capítulo 5 — Conferindo dados com Python

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 5 — Conferindo dados com Python

Mapa da aula

Aula 05 publicada. Mapa, exemplo, EX017.

flowchart TD
  N0["5.1 Lendo um arquivo"]
  N1["5.2 Verificações simples"]
  N2["5.3 Resumos"]
  N3["5.4 Salvando e compartilhando"]
  N0 --> N1 --> N2 --> N3
  N3 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX017"]

Desenho lógico

flowchart LR
  N0["5.1 Lendo um arquivo"]
  N1["5.2 Verificações simples"]
  N2["5.3 Resumos"]
  N3["5.4 Salvando e compartilhando"]
  N0 --> N1 --> N2 --> N3 --> Q["EX017"]
[5.1 Lendo um arquivo]
    |
    v
[5.2 Verificações simples]
    |
    v
[5.3 Resumos]
    |
    v
[5.4 Salvando e compartilhando]
    |
    v
[Exemplo resolvido] --> [Exercício EX017]

Objetivos de aprendizagem

Você vai (1) ler um arquivo CSV em Python; (2) escrever verificações simples; (3) imprimir um resumo claro.

5.1 Lendo um arquivo

O Sr. Osei apresenta o Python para as verificações repetitivas. Marta escreve um script curto com o módulo csv para ler uma exportação sintética das contagens de passageiros. Cada linha traz a data, a linha de ônibus, o horário da viagem, os embarques e os desembarques. Ela imprime o número de linhas e as primeiras linhas do arquivo para confirmar que ele foi lido corretamente. Aprende que verificar se o arquivo foi bem lido é o primeiro passo antes de confiar em qualquer resultado. Também confere se o número de linhas impresso bate com o número mostrado na tela de exportação do sistema.

5.2 Verificações simples

Marta escreve as verificações: embarques e desembarques devem ser números inteiros, não negativos e não maiores que cento e vinte, a capacidade do ônibus. A linha deve ser uma das doze linhas da Linkway. Ela conta as linhas do arquivo que falham em cada verificação. Observa que cada verificação é uma única regra clara, fácil de explicar ao Sr. Hughes e de mudar se a Linkway comprar ônibus maiores. Ela coloca o valor da capacidade no topo do script, como uma configuração com nome, para que possa ser alterado em um só lugar se um dia a frota mudar.

5.3 Resumos

Marta imprime um resumo: linhas lidas, linhas que falham em cada verificação e a parcela de falhas. Ela encontra algumas linhas com desembarques negativos, que o Sr. Hughes diz virem de um defeito de sensor em um ônibus. Ela acrescenta o número do ônibus à saída para que o defeito possa ser rastreado. Aprende que um bom resumo ajuda alguém a agir, e não apenas a saber que algo está errado. O Sr. Hughes passa o número do ônibus à equipe de manutenção, que troca o sensor defeituoso naquela semana, e os valores negativos deixam de aparecer nos arquivos seguintes.

5.4 Salvando e compartilhando

Marta salva o script com comentários que explicam cada passo e com a data. O Sr. Osei mostra como guardar os scripts em uma pasta compartilhada com um pequeno arquivo leia-me. Quando uma colega roda o script no arquivo de um novo mês, ele funciona sem alterações. Marta anota no caderno que um script que ela consegue executar de novo poupa horas em comparação com conferir uma planilha a olho todo mês. O Sr. Hughes pede uma cópia do script para a equipe de dados da Linkway, e Marta acrescenta uma nota curta explicando como executá-lo e o que cada linha do resumo significa.

Exemplo resolvido

Marta lê um arquivo de contagens com o módulo csv, confere os embarques contra a capacidade e as linhas válidas, acrescenta o número do ônibus para rastrear um defeito de sensor e salva um script comentado que outras pessoas podem executar de novo.

Caso sintético. As exportações são sintéticas.

Erros e limites

Confiar em resultados antes de confirmar que o arquivo foi bem lido arrisca conclusões erradas.

Exercícios

Continue estudando — aula 05 (capítulo 05 de 18)

← Capítulo 04 · Índice das aulas · Capítulo 06 →

Continue para a próxima aula já escrita.