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.
- Abra el archivo
group.pyen un editor de texto. - 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
- 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.
- Abra una terminal y navegue hasta el directorio
/home/labex/project. - Ejecute el siguiente comando para ejecutar el script
group.py:
python group.py
- Después de que el script haya terminado de ejecutarse, verifique la creación de la carpeta
Groupsy los archivos CSV generados dentro de ella.
Verificar los archivos CSV agrupados
En este paso, verificaras el contenido de los archivos CSV generados.
- Navega hasta la carpeta
Groupsusando la terminal. - Lista el contenido de la carpeta
Groupsusando el comandols. 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
- 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.



