Este script automatiza la generación de horarios para los laboratorios de industrial a partir de un reporte de ocupación en Excel.
- Python 3.x
- pandas
- openpyxl
Para instalar las dependencias necesarias, ejecuta:
pip install -r requirements.txtO en su defecto usar el archivo requirements.txt
pip install pandas openpyxl- Abre una terminal o línea de comandos
- Navega al directorio donde deseas clonar el repositorio
- Ejecuta el siguiente comando:
git clone https://github.com/tu-usuario/ScheduleGenerator.git- Navega al directorio del proyecto:
cd ScheduleGeneratorgenerar_horarios.py: Script principalreporte_ocupacion.xlsx: Archivo de entrada con los datos de ocupación (se debe proporcionar)HORARIO_LABORATORIOS.xlsx: Archivo de salida generado
El script utiliza un mapeo mediante diccionarios de nombres de laboratorios para convertir los nombres del reporte de ocupación a los nombres deseados en el horario final. Para modificar este mapeo:
- Abre el archivo
generar_horarios.py - Localiza el diccionario
mapeo_laboratoriosen la claseGeneradorHorariosLaboratorio - Modifica o agrega entradas siguiendo el formato:
'NOMBRE_LABORATORIO_ORIGEN': 'NOMBRE_LABORATORIO_SALIDA'Ejemplo de mapeo actual:
self.mapeo_laboratorios = {
'LABORATORIO GEIO CAP(25)': 'GEIO (321) TECHNE',
'SALA DE SOFTWARE DE TECNOLOGIA E INGENIERIA DE PRODUCCION A CAP(17)': 'Sala de Software A - 16 EST - 416- TECHNE',
'SALA DE SOFTWARE DE TECNOLOGIA E NGENIERIA DE PRODUCCION B CAP(25)': 'Sala de Software B - 24 EST - 417 TECHNE',
'LABORATORIO HAS CAP(22)': 'HAS-200 (317) TECHNE',
'LABORATORIO FMS CAP(18)': 'FMS-200 (320) TECHNE',
'LABORATORIO DE PROCESOS DE TRANSFORMACIÓN MECÁNICA': 'LABORATORIO DE PROCESOS DE TRANSFORMACIÓN BLOQUE 1-102'
}El archivo reporte_ocupacion.xlsx debe contener las siguientes columnas:
- Periodo
- Día
- Hora
- Asignatura
- Grupo
- Proyecto
- Salón
- Área
- Edificio
- Sede
- Inscritos
- Docente
- Asegúrate de tener Python 3.x instalado en tu sistema
- Instala las dependencias necesarias:
pip install -r requirements.txtpip install pandas openpyxl- Coloca el archivo
reporte_ocupacion.xlsxen el directorio raíz del proyecto - Abre una terminal o línea de comandos
- Navega al directorio del proyecto si no estás en él:
cd ScheduleGenerator- Ejecuta el script:
python generar_horarios.py- El script generará automáticamente el archivo
HORARIO_LABORATORIOS.xlsxen el mismo directorio
- Organización por días de la semana (Lunes a Sábado)
- Franjas horarias de 6AM a 10PM
- Separación visual entre días
- Colores alternos para mejor legibilidad
- Información detallada de asignaturas, grupos e inscritos
- Formato profesional con bordes y alineación
Las franjas horarias están definidas en la variable franjas_horarias. Pueden ser modificados.
Los días de la semana están definidos en la variable dias. Pueden ser modificados.
Si encuentras algún error:
- Verifica que el archivo de entrada tenga el formato correcto
- Asegúrate de que los nombres de los laboratorios en el mapeo coincidan exactamente con los del reporte
- Revisa que el archivo de entrada esté en el directorio correcto
- Verifica que todas las dependencias estén instaladas
- El script solo procesa laboratorios ubicados en el edificio TECHNE
- Las clases de dos horas se muestran con formato especial
- El número de inscritos se incluye junto al grupo