Agrupamiento de empleados por número de teléfono

PythonBeginner
Practicar Ahora

Introducción

En este proyecto, aprenderás a agrupar empleados según el último dígito de sus números de teléfono y guardar los grupos en archivos CSV separados. Este proyecto está diseñado para ayudarte a desarrollar habilidades en el manejo de archivos, el procesamiento de datos y la gestión de archivos CSV utilizando Python.

👀 Vista previa

## Entrada:
python group.py
ls
ls Groups
## Salida:
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

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar el entorno del proyecto y preparar los archivos necesarios
  • Cómo implementar la lógica para agrupar empleados según el último dígito de sus números de teléfono
  • Cómo guardar los datos agrupados en archivos CSV separados
  • Cómo verificar el contenido de los archivos CSV generados

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender cómo trabajar con archivos CSV en Python
  • Desarrollar habilidades en el procesamiento y agrupamiento de datos
  • Demostrar tu capacidad para crear y administrar archivos y carpetas de manera programática
  • Aplicar tus conocimientos de programación en Python a un problema del mundo real

Implementar la lógica de agrupamiento

En este paso, implementarás la lógica para agrupar a los empleados según el último dígito de sus números de teléfono y guardar los grupos en archivos CSV separados.

  1. Abra el archivo group.py en un editor de texto.
  2. Agregue el siguiente código a la función group():
import os
import csv

def group():
    """
    Agrupar empleados según el último dígito de su número de teléfono y guardar cada grupo en un archivo CSV separado.

    Lee los datos de los empleados de un archivo CSV llamado 'roster.csv', los agrupa según el último dígito de su número de teléfono,
    y guarda cada grupo en un archivo CSV separado en una carpeta llamada 'Groups'.

    El archivo CSV debe tener el siguiente formato:
    - La primera fila es la fila de encabezado.
    - Las filas restantes contienen datos de empleados, con cada fila representando a un solo empleado.

    :return: Ninguno
    """
    ## Crea la carpeta 'Groups' si no existe
    if not os.path.exists("Groups"):
        os.makedirs("Groups")

    ## Abre el archivo 'roster.csv' para lectura
    with open("roster.csv", "r") as file:
        reader = csv.reader(file)
        header = next(reader)  ## Lee la fila de encabezado del archivo CSV

        ## Crea un diccionario para almacenar los grupos de empleados según el último dígito de su número de teléfono
        groups = {}
        for row in reader:
            phone_number = row[1]  ## Obtiene el número de teléfono de la fila actual
            last_digit = int(phone_number[-1])  ## Extrae el último dígito del número de teléfono como un entero

            ## Agrega la fila actual al grupo correspondiente según el último dígito
            groups.setdefault(last_digit, []).append(row)

    ## Itera sobre los grupos y guarda cada grupo en un archivo CSV separado
    for tail_num, employees in groups.items():
        filename = f"Groups/Tail_num_{tail_num}.csv"  ## Genera el nombre de archivo para el grupo actual
        with open(filename, "w", newline="") as file:
            writer = csv.writer(file)
            writer.writerow(header)  ## Escribe la fila de encabezado en el archivo CSV
            writer.writerows(employees)  ## Escribe los datos de los empleados en el archivo CSV

if __name__ == "__main__":
    group()  ## Llama a la función 'group' para ejecutar el proceso de agrupamiento y guardado
  1. Guarde el archivo group.py.

Ejecutar el script de agrupamiento

En este paso, ejecutarás el script group.py para generar los archivos CSV agrupados.

  1. Abra una terminal y navegue hasta el directorio /home/labex/project.
  2. Ejecute el siguiente comando para ejecutar el script group.py:
python group.py
  1. Después de que el script haya terminado de ejecutarse, verifique la creación de la carpeta Groups y los archivos CSV generados dentro de ella.

Verificar los archivos CSV agrupados

En este paso, verificaras el contenido de los archivos CSV generados.

  1. Navega hasta la carpeta Groups usando la terminal.
  2. Lista el contenido de la carpeta Groups usando el comando ls. Deberías ver los siguientes archivos:
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. Abre uno de los archivos CSV (por ejemplo, Tail_num_0.csv) y verifica que el archivo contenga los datos de los empleados, con la primera fila siendo el encabezado y las filas restantes conteniendo la información de los empleados.

¡Felicidades! Has completado con éxito el proyecto de agrupar empleados según el último dígito de sus números de teléfono y guardar los grupos en archivos CSV separados.

Resumen

¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar