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.xlsx
file 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
Stats
folder.
- 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 matplotlib
git clone https://github.com/your-username/EduStats.git
cd EduStats
- Place
semestre.xlsx
in theStats
folder. - The program will create or update
notes_RT.xlsx
for you.
python main.py
The 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
Stats
directory exists. - Verifies the presence of
semestre.xlsx
. - Creates or updates
notes_RT.xlsx
automatically.
- Extracts module names and coefficients from
semestre.xlsx
. - Populates
notes_RT.xlsx
with 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.xlsx
is in theStats
folder. Ifnotes_RT.xlsx
is missing, the program will create it. - Corrupted Files: Verify that
semestre.xlsx
andnotes_RT.xlsx
are 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! 😊