This Python project automates college timetable generation using Excel input files that define courses, instructors, and lab details. It smartly assigns lecture and lab slots while avoiding clashes between instructors, semesters, and lab rooms. Finally, it exports all generated timetables and allocation summaries into a neatly formatted Excel workbook.
- π Excel-based input for easy data entry (courses, instructors, semesters, labs)
- π§ Automatic scheduling of lectures and labs with time clash detection
- π Support for combined classes across semesters
- π§βπ« Instructor-wise, semester-wise, and lab-wise timetable generation
- πΎ Exports results to a single, well-structured Excel file
- πͺ Interactive GUI using Tkinter for file upload and output naming
- Python 3.8+
- Pandas β Data processing and manipulation
- OpenPyXL β Excel file creation and editing
- Tkinter β Simple GUI for file dialogs and user input
- Regex (re) β Parsing course types and formats
Your Excel file should contain the following columns in each semester sheet:
| Branch | Course | Course Instructor | Course Type | Lab Type (optional) | Combined With (optional) |
|---|---|---|---|---|---|
| CSE | Data Structures | Dr. Rao | 3L+2H | CS Lab | Sem5_ECE |
| ECE | Digital Logic | Prof. Sharma | 3L |
There can also be a separate sheet named "Professors" (optional).
- Upload your Excel file when prompted.
- The script reads and validates all semester data.
- It automatically assigns lecture and lab slots while avoiding conflicts.
- A final Excel file is generated containing:
- π Semester timetables
- π¨βπ« Instructor timetables
- π§ͺ Lab timetables
- β Course scheduling status
Excel Sheets Generated:
TT-Sem-Sem3_CSETT-Inst-Dr. RaoTT-Lab-CS LabSem3_CSE (Course Summary)
git clone https://github.com/your-username/timetable-generator.git cd timetable-generator