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.
- Abra o arquivo
group.pyem um editor de texto. - 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
- Salve o arquivo
group.py.
Executar o Script de Agrupamento
Nesta etapa, você executará o script group.py para gerar os arquivos CSV agrupados.
- Abra um terminal e navegue até o diretório
/home/labex/project. - Execute o seguinte comando para executar o script
group.py:
python group.py
- Após a conclusão da execução do script, verifique a criação da pasta
Groupse dos arquivos CSV gerados dentro dela.
Verificar os Arquivos CSV Agrupados
Nesta etapa, você verificará o conteúdo dos arquivos CSV gerados.
- Navegue até a pasta
Groupsusando o terminal. - Liste o conteúdo da pasta
Groupsusando o comandols. 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
- 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.



