/on34-python-s06-arquivos-pacotes-modulos

Python On34 - Semana 06 - Lidando com arquivos, pacotes e módulos - de 06/07 à 11/07

Primary LanguagePython

logo reprograma

Lidando com arquivos, planilhas e módulos

Turma Online On34 | Python | Semana 06 | 2024 | Professora Jessica Mitiko

Instruções

Antes de começar, vamos organizar nosso setup.

  • Fork esse repositório
  • Clone o fork na sua máquina (Para isso basta abrir o seu terminal e digitar git clone url-do-seu-repositorio-forkado)
  • Entre na pasta do seu repositório (Para isso basta abrir o seu terminal e digitar cd nome-do-seu-repositorio-forkado)

Resumo

O que veremos na aula de hoje?

Conteúdo

Parte 1: Introdução e Importação de CSV

  1. Formato de Arquivo CSV
  2. O que é Planilha?

Parte 2: Manipulação de Dados no Google Sheets

  1. Uso de Fórmulas

Parte 3: Funções de Pesquisa

  1. Funções de Pesquisa e Referência
    • VLOOKUP
    • HLOOKUP
    • MATCH
    • INDEX
  2. Extra: Tabela Dinâmica

Parte 4: ETL e Limpeza de Dados e Exportação

  1. O que é ETL?
  2. Importância do ETL

Parte 1: Introdução e Importação de CSV

Formato de Arquivo CSV

Um arquivo CSV (Comma-separated values) é um arquivo de texto com um formato específico que permite que dados sejam salvos no formato de uma tabela estruturada. Formato específico, pois usa vírgulas para separar valores e quebra de linha para separar linhas.

O que é Planilha?

  • Definição: Uma Planilha (Eletrônica) é um programa/aplicação utilizado para processamento, organização, análise e armazenamento de dados em formato tabular (linhas e colunas). Cada célula pode conter dados numéricos ou textuais, ou o resultado de fórmulas/cálculos. Também chamamos de planilha o próprio documento que organiza os dados em tabelas formadas por linhas e colunas.
  • Uso: Utilizada para armazenar, organizar e analisar dados de forma eficiente.
Conceitos Básicos de Planilhas Eletrônicas
  • Página

    • Definição: Uma planilha pode conter várias páginas ou abas, cada uma representando um conjunto separado de dados dentro do mesmo arquivo.
    • Visualização: As páginas são acessíveis através das abas na parte inferior da janela do Google Sheets.
    • Exemplo: Em um arquivo de planilha de uma escola, você pode ter uma página para cada turma.
  • Linha

    • Definição: Linhas são as divisões horizontais de uma planilha. Cada linha é identificada por um número, começando em 1 no topo.
    • Uso: Cada linha geralmente representa um registro único ou uma entrada de dados.
    • Exemplo: Cada linha pode representar um aluno diferente em uma planilha de notas.
  • Coluna

    • Definição: Colunas são as divisões verticais de uma planilha. Cada coluna é identificada por uma letra, começando com A à esquerda.
    • Uso: Cada coluna contém um tipo específico de informação.
    • Exemplo: Em uma planilha de notas, a coluna A pode conter os nomes dos alunos, a coluna B as notas de Matemática, etc.
  • Célula

    • Definição: A célula é a interseção de uma linha com uma coluna. Cada célula é identificada por sua referência de célula, que combina a letra da coluna com o número da linha (por exemplo, A1).
    • Uso: Cada célula pode conter um único dado, como um número, texto ou fórmula.
    • Exemplo: A célula C2 pode conter a nota do primeiro bimestre do primeiro aluno da lista.
  • Intervalo

    • Definição: Um intervalo é uma seleção de múltiplas células adjacentes em uma planilha, definidas pelas células inicial e final (por exemplo, A1).
    • Uso: Intervalos são usados para aplicar fórmulas e funções a múltiplas células simultaneamente.
    • Exemplo: O intervalo C2:E11 pode representar todas as notas dos alunos nos três bimestres.

Parte 2: Manipulação de Dados no Google Sheets

Uso de Fórmulas

  • Fórmulas Básicas

    • SUM: Soma os valores em um intervalo de células.
      Fórmula (PT-BR): SOMA(valor1; [valor2; ...])
      Fórmula (EN): SUM(valor1, [valor2, ...])
      Exemplo: =SOMA(F2:H2) - Soma os valores das células F2, G2 e H2.

    • AVERAGE: Calcula a média dos valores em um intervalo de células.
      Fórmula (PT-BR): MÉDIA(valor1; [valor2; ...])
      Fórmula (EN): AVERAGE(valor1, [valor2, ...])
      Exemplo: =MÉDIA(C2:E2) - Calcula a média dos valores nas colunas C, D e E na linha 2.

    • MAX: Retorna o maior valor em um intervalo de células.
      Fórmula (PT-BR): MÁXIMO(valor1; [valor2; ...])
      Fórmula (EN): MAX(valor1, [valor2, ...])
      Exemplo: =MÁXIMO(C2:C11) - Encontra o valor máximo nas células de C2 a C10.

    • MIN: Retorna o menor valor em um intervalo de células.
      Fórmula (PT-BR): MÍNIMO(valor1; [valor2; ...])
      Fórmula (EN): MIN(valor1, [valor2, ...])
      Exemplo: =MÍNIMO(A2:A100;B2:B100;4;26) - Encontra o valor mínimo entre a coluna A e B da linha 2 até 100, e os valores 4 e 26.

  • Fórmulas Condicionais

    • IF: Retorna um valor se uma condição for verdadeira e outro valor se for falsa.
      Fórmula (PT-BR): SE(expressao_logica; valor_se_verdadeiro; valor_se_falso)
      Fórmula (EN): IF(expressao_logica, valor_se_verdadeiro, valor_se_falso)

    • AND: Verifica se todas as condições são verdadeiras.
      Fórmula (PT-BR): E(expressao_logica1; [expressao_logica2; ...])
      Fórmula (EN): AND(expressao_logica1, [expressao_logica2, ...])

    • OR: Verifica se pelo menos uma condição é verdadeira.
      Fórmula (PT-BR): OU(expressao_logica1; [expressao_logica2; ...])
      Fórmula (EN): OR(expressao_logica1, [expressao_logica2, ...])

    Exemplo: =SE(E(F2>=6; J2<10); "Aprovado"; "Reprovado") - Retorna "Aprovado" ou "Reprovado" baseado nas condições, para os valores na linha 2.

    • COUNTIF: Conta o número de células que atendem a um critério.
      Fórmula (PT-BR): CONT.SE(intervalo; critério)
      Fórmula (EN): COUNTIF(intervalo, critério)

    • SUMIF: Soma as células em um intervalo que atendem a um critério.
      Fórmula (PT-BR): SOMASE(intervalo; critério; [intervalo_soma])
      Fórmula (EN): SUMIF(intervalo, critério, [intervalo_soma])

    Exemplo: CONT.SE(K2:K11; "Aprovado") - Retorna "Aprovado" a quantidade de valores "Aprovado" presentes no intervalo de K2 à K11.

  • Funções de Texto

    • CONCATENATE: Junta textos de várias células em uma única célula.
      Fórmula (PT-BR): CONCATENAR(string1; [string2; ...])
      Fórmula (EN): CONCATENATE(string1, [string2, ...])
      Exemplo: =CONCATENATE(A2, " ", B2) - Junta o valor da célula A2 e B2 separados por um espaço.

    • SPLIT: Divide o texto de uma célula em várias células usando um delimitador.
      Fórmula (PT-BR): SPLIT(texto; delimitador; [dividir_por_cada], [remover_texto_vazio])
      Fórmula (EN): SPLIT(texto, delimitador, [dividir_por_cada], [remover_texto_vazio])
      Exemplo: =SPLIT("Estou separando esses valores"; " ") - Divide o texto com o delimitador de espaço.

Parte 3: Funções de Pesquisa

Funções de Pesquisa e Referência

  • PROCV: A função PROCV (Pesquisa Vertical) procura um valor em uma coluna e retorna um valor na mesma linha de uma coluna especificada.
    Fórmula (PT-BR): PROCV(chave_pesquisa, intervalo, índice, [é_ordenado])
    Fórmula (EN): VLOOKUP(chave_pesquisa, intervalo, índice, [é_ordenado])
    Exemplo: Procurar o nome de um produto com base na aba de produtos:
    =PROCV("P001"; produtos!A2:C101; 2; FALSO)
    Isso procura o código "P001" na coluna A da aba de produtos e retorna o nome do produto na aba e na coluna correspondente.
    Nota: PROCV só pode ser usado quando o valor de pesquisa está à esquerda do atributo desejado a ser retornado.

  • PROCH: A função PROCH (Pesquisa Horizontal) é semelhante ao PROCV, mas procura um valor em uma linha e retorna um valor na mesma coluna de uma linha especificada.
    Fórmula (PT-BR): PROCH(chave_pesquisa, intervalo, índice, [é_ordenado])
    Fórmula (EN): HLOOKUP(chave_pesquisa, intervalo, índice, [é_ordenado])

  • CORRESP: A função CORRESP procura um valor específico em um intervalo e retorna a posição relativa desse valor no intervalo.
    Fórmula (PT-BR): CORRESP(chave_pesquisa; intervalo_pesquisa; [tipo_correspondência])
    Fórmula (EN): MATCH(chave_pesquisa; intervalo_pesquisa; [tipo_correspondência])

  • ÍNDICE: A função ÍNDICE retorna o valor de uma célula em uma tabela ou intervalo com base nos números da linha e da coluna fornecidos.
    Fórmula (PT-BR): ÍNDICE(intervalo; linha; [coluna])
    Fórmula (EN): INDEX(intervalo; linha; [coluna])

Combinação de ÍNDICE e CORRESP: A combinação das funções ÍNDICE e CORRESP permite procurar valores em qualquer lugar de uma tabela, independentemente da posição relativa dos dados.

Nota: ÍNDICE e CORRESP podem ser usados independentemente de onde o valor de pesquisa está localizado em relação ao atributo desejado a ser retornado.

Extra: Tabela Dinâmica

O que é uma Tabela Dinâmica?

Uma tabela dinâmica no Google Sheets é uma ferramenta poderosa para resumir, analisar, explorar e apresentar grandes conjuntos de dados. Ela permite que você organize e reorganize dados rapidamente para obter insights valiosos. Com uma tabela dinâmica, você pode transformar um conjunto extenso de dados em uma visão resumida e interativa que destaca tendências e padrões.

Importância das Tabelas Dinâmicas
  • Facilidade de Uso: Tabelas dinâmicas são intuitivas e fáceis de usar, permitindo que usuários com pouco conhecimento técnico criem resumos complexos de dados.
  • Flexibilidade: Elas oferecem flexibilidade para alterar rapidamente a forma como os dados são agrupados e sumarizados, sem precisar modificar os dados originais.
  • Eficiência: Automatizam o processo de análise de dados, economizando tempo e esforço.
  • Interatividade: Permitem que os usuários interajam com os dados, explorando diferentes ângulos e detalhes sem precisar recriar a tabela.
Exemplo de aplicação das Tabelas Dinâmicas
  • Análise de Vendas: Resumir dados de vendas por produto, região, período ou vendedor para identificar tendências e tomar decisões informadas.

📌 Sugestão de Leitura: Criando uma tabela dinâmica no Google Sheets
📌 Sugestão de Vídeo: Como criar Tabela Dinâmica no Google Planilhas

Parte 4: ETL e Limpeza de Dados e Exportação

O que é ETL?

ETL é a sigla para Extract, Transform, Load (Extrair, Transformar, Carregar). É um processo fundamental na integração e preparação de dados para análises e relatórios em ambientes de business intelligence (BI) e data warehousing. Vamos detalhar cada etapa do processo:

  • Extract (Extrair): Na fase de extração, os dados são retirados de diversas fontes. Essas fontes podem ser bancos de dados, arquivos planos (como CSV), APIs, sistemas legados, entre outros. A extração é crucial para garantir que os dados relevantes sejam capturados de maneira precisa e eficiente.

    Exemplos de fontes de dados:

    • Bancos de dados SQL
    • Arquivos CSV, JSON, XML
    • APIs de serviços web
  • Transform (Transformar): A transformação é a etapa onde os dados extraídos são limpos, organizados e convertidos em um formato adequado para análise. Isso pode incluir a remoção de duplicatas, a correção de valores errados, a padronização de formatos de dados, a agregação de dados, a criação de novos atributos ou métricas, e a aplicação de regras de negócio.

    Tarefas comuns de transformação:

    • Limpeza de dados (remoção de valores nulos, duplicados, correção de erros)
    • Normalização de dados (padronização de formatos de data, moeda, etc.)
    • Agregação de dados (cálculo de somas, médias, etc.)
    • Transformação de dados (conversão de tipos de dados, cálculos derivados)
  • Load (Carregar): Na fase de carregamento, os dados transformados são carregados em um destino, como um data warehouse, um data lake, ou outro sistema de armazenamento de dados. Esse destino é onde os dados ficam disponíveis para análise e geração de relatórios. O processo de carregamento deve ser eficiente para lidar com grandes volumes de dados e pode ser realizado de maneira incremental ou em batch (lote).

Importância do ETL

  • Integração de Dados: ETL permite a integração de dados de várias fontes em um único repositório, facilitando a análise abrangente.
  • Qualidade dos Dados: A fase de transformação assegura que os dados sejam limpos e consistentes, melhorando a qualidade das análises.
  • Eficiência Analítica: Ao carregar dados em um formato adequado para análise, o ETL torna mais eficiente a geração de relatórios e insights de negócio.
  • Automação: Processos ETL automatizados garantem a atualização regular dos dados, mantendo a análise de dados atualizada.

Em resumo, o ETL é um processo crucial para transformar dados brutos de várias fontes em informações úteis e integradas, prontas para análise e tomada de decisão.


Exercícios

Material da aula

Desenvolvido com 💜