Agrupando Funcionários por Número de Telefone

PythonBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como agrupar funcionários com base no último dígito de seus números de telefone e salvar os grupos em arquivos CSV separados. Este projeto foi projetado para ajudá-lo a desenvolver habilidades em manipulação de arquivos, processamento de dados e gerenciamento de arquivos CSV usando Python.

👀 Visualização

## Input:
python group.py
ls
ls Groups
## Output:
Groups roster.csv group.py
Tail_num_0.csv  Tail_num_2.csv  Tail_num_4.csv  Tail_num_6.csv  Tail_num_8.csv
Tail_num_1.csv  Tail_num_3.csv  Tail_num_5.csv  Tail_num_7.csv  Tail_num_9.csv

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como configurar o ambiente do projeto e preparar os arquivos necessários
  • Como implementar a lógica para agrupar funcionários com base no último dígito de seus números de telefone
  • Como salvar os dados agrupados em arquivos CSV separados
  • Como verificar o conteúdo dos arquivos CSV gerados

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Entender como trabalhar com arquivos CSV em Python
  • Desenvolver habilidades em processamento e agrupamento de dados
  • Demonstrar sua capacidade de criar e gerenciar arquivos e pastas programaticamente
  • Aplicar seu conhecimento de programação Python a um problema do mundo real

Implementar a Lógica de Agrupamento

Nesta etapa, você implementará a lógica para agrupar os funcionários com base no último dígito de seus números de telefone e salvar os grupos em arquivos CSV separados.

  1. Abra o arquivo group.py em um editor de texto.
  2. Adicione o seguinte código à função group():
import os
import csv

def group():
    """
    Agrupa os funcionários com base no último dígito de seus números de telefone e salva cada grupo em um arquivo CSV separado.

    Lê os dados dos funcionários de um arquivo CSV chamado 'roster.csv', agrupa-os com base no último dígito de seus números de telefone,
    e salva cada grupo em um arquivo CSV separado em uma pasta chamada 'Groups'.

    O arquivo CSV deve ter o seguinte formato:
    - A primeira linha é a linha de cabeçalho.
    - As linhas restantes contêm dados de funcionários, com cada linha representando um único funcionário.

    :return: None
    """
    ## Cria a pasta 'Groups' se ela não existir
    if not os.path.exists("Groups"):
        os.makedirs("Groups")

    ## Abre o arquivo 'roster.csv' para leitura
    with open("roster.csv", "r") as file:
        reader = csv.reader(file)
        header = next(reader)  ## Lê a linha de cabeçalho do arquivo CSV

        ## Cria um dicionário para armazenar grupos de funcionários com base no último dígito de seus números de telefone
        groups = {}
        for row in reader:
            phone_number = row[1]  ## Obtém o número de telefone da linha atual
            last_digit = int(phone_number[-1])  ## Extrai o último dígito do número de telefone como um inteiro

            ## Anexa a linha atual ao grupo correspondente com base no último dígito
            groups.setdefault(last_digit, []).append(row)

    ## Itera sobre os grupos e salva cada grupo em um arquivo CSV separado
    for tail_num, employees in groups.items():
        filename = f"Groups/Tail_num_{tail_num}.csv"  ## Gera o nome do arquivo para o grupo atual
        with open(filename, "w", newline="") as file:
            writer = csv.writer(file)
            writer.writerow(header)  ## Escreve a linha de cabeçalho no arquivo CSV
            writer.writerows(employees)  ## Escreve os dados dos funcionários no arquivo CSV

if __name__ == "__main__":
    group()  ## Chama a função 'group' para executar o processo de agrupamento e salvamento
  1. Salve o arquivo group.py.

Executar o Script de Agrupamento

Nesta etapa, você executará o script group.py para gerar os arquivos CSV agrupados.

  1. Abra um terminal e navegue até o diretório /home/labex/project.
  2. Execute o seguinte comando para executar o script group.py:
python group.py
  1. Após a conclusão da execução do script, verifique a criação da pasta Groups e dos arquivos CSV gerados dentro dela.

Verificar os Arquivos CSV Agrupados

Nesta etapa, você verificará o conteúdo dos arquivos CSV gerados.

  1. Navegue até a pasta Groups usando o terminal.
  2. Liste o conteúdo da pasta Groups usando o comando ls. Você deve ver os seguintes arquivos:
Tail_num_0.csv  Tail_num_2.csv  Tail_num_4.csv  Tail_num_6.csv  Tail_num_8.csv
Tail_num_1.csv  Tail_num_3.csv  Tail_num_5.csv  Tail_num_7.csv  Tail_num_9.csv
  1. Abra um dos arquivos CSV (por exemplo, Tail_num_0.csv) e verifique se o arquivo contém os dados dos funcionários, com a primeira linha sendo o cabeçalho e as linhas restantes contendo as informações dos funcionários.

Parabéns! Você concluiu com sucesso o projeto de agrupar funcionários com base no último dígito de seus números de telefone e salvar os grupos em arquivos CSV separados.

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar