EduStats is an advanced Python project tailored to manage and analyze academic performance for students in the BUT RT program. With seamless Excel file handling, precise calculations, robust data validation, and visually intuitive graphs, it provides actionable insights to help track and improve results. 📈🎓
- Verifies and organizes academic files (
semestre.xlsx,notes_RT.xlsx) automatically. - Creates or updates the
notes_RT.xlsxfile based on the semester structure.
- Checks for sufficient rows and columns in Excel files to ensure accurate processing.
- Logs warnings and errors to help identify and resolve data issues efficiently.
- Computes averages for each Teaching Unit (UE) using module coefficients and user-provided grades.
- Generates clear, color-coded graphs with performance thresholds for success, warnings, and failures.
- Reduces repetitive data access and improves overall execution efficiency.
- Defines the semester structure with module names and coefficients.
- Must be placed in the
Statsfolder.
- Stores the grades for each module.
- Created or updated automatically based on
semestre.xlsx.
Ensure Python is installed and required libraries are added:
pip install openpyxl matplotlibgit clone https://github.com/your-username/EduStats.git
cd EduStats- Place
semestre.xlsxin theStatsfolder. - The program will create or update
notes_RT.xlsxfor you.
python main.pyThe output graph highlights performance for each Teaching Unit (UE) using a color-coded system:
- ✅ Averages ≥ 10: Green bars indicate success.
⚠️ Averages between 8 and 10: Orange bars suggest potential retakes.- ❌ Averages < 8: Red bars flag failure.
Threshold markers at 10 (pass) and 8 (retake) are included for clarity.
- Ensures the
Statsdirectory exists. - Verifies the presence of
semestre.xlsx. - Creates or updates
notes_RT.xlsxautomatically.
- Extracts module names and coefficients from
semestre.xlsx. - Populates
notes_RT.xlsxwith a user-friendly structure for grade input.
- Validates Excel sheets for sufficient data before proceeding.
- Logs any discrepancies or missing information for user awareness.
- Computes weighted averages for each UE, accounting for module coefficients and grades.
- Displays a visually intuitive bar chart with performance thresholds and color-coded bars.
- Missing Files: Ensure
semestre.xlsxis in theStatsfolder. Ifnotes_RT.xlsxis missing, the program will create it. - Corrupted Files: Verify that
semestre.xlsxandnotes_RT.xlsxare valid Excel files.
- Detailed logging output helps identify and resolve issues efficiently.
If issues persist, check the program output for detailed error messages.
We welcome contributions! 🚀
- Report issues or bugs via GitHub Issues.
- Submit improvements as pull requests to enhance functionality.
This project is licensed under the MIT License. You are free to use, modify, and distribute it under the terms of this license. Refer to the LICENSE file for details.
🎉 EduStats simplifies academic data management and empowers you to track your success. Start using it today! 😊