Βοηθητική εφαρμογή υπολογιστή για την ανάλυση αρχείων ωρών εργασίας προσωπικού. Ανεβάζεις το αρχείο της Εργάνης (ή αντίστοιχο spreadsheet) και η εφαρμογή σου βγάζει αυτόματα τα στατιστικά για κάθε εργαζόμενο: μέρες δουλειάς, νυχτερινές ώρες, ώρες Κυριακής και νυχτερινές ώρες Κυριακής.
Διαβάζει ένα αρχείο .xlsx με σταθερή δομή (όπως φαίνεται παρακάτω) και υπολογίζει για κάθε εργαζόμενο ξεχωριστά:
- Σύνολο ημερών εργασίας — πόσες φορές εμφανίζεται ως «ΕΡΓΑΣΙΑ» μέσα στον μήνα.
- Νυχτερινές ώρες — ώρες που έπεσαν στο διάστημα 22:00–06:00.
- Ώρες Κυριακής — όλες οι ώρες εργασίας που έγιναν Κυριακή.
- Νυχτερινές ώρες Κυριακής — η τομή των δύο παραπάνω (Κυριακή ΚΑΙ νυχτερινό ωράριο).
- Σύνολο Κυριακών — πόσες ξεχωριστές Κυριακές δούλεψε.
Το αποτέλεσμα εμφανίζεται σε πίνακα μέσα στην εφαρμογή και μπορείς να το κατεβάσεις ως Excel ή CSV για να το κρατήσεις/τυπώσεις.
Το αρχείο που ανεβάζεις έχει πάντα την ίδια μορφή — αλλάζουν μόνο ο μήνας, τα ονόματα και τα ωράρια. Οι στήλες είναι:
| Στήλη | Περιεχόμενο |
|---|---|
| A | ΑΑ Παραρτήματος |
| B | ΑΦΜ |
| C | Όνομα |
| D | Επώνυμο |
| E | Ημ/νία |
| F | Ψηφιακή (Ναι/Όχι) |
| G | Κάρτα Εργασίας (Ναι/Όχι) |
| H | Διάλειμμα (π.χ. «Εντός 20») |
| I | Απασχόληση (π.χ. «ΕΡΓΑΣΙΑ 10:00-18:00», «ΑΝΑΠΑΥΣΗ/ΡΕΠΟ», «ΜΗ ΕΡΓΑΣΙΑ») |
Η εφαρμογή ξεχωρίζει τις γραμμές «ΕΡΓΑΣΙΑ» από τις «ΑΝΑΠΑΥΣΗ/ΡΕΠΟ» και «ΜΗ ΕΡΓΑΣΙΑ», διαβάζει το ωράριο (π.χ. 19:00-00:00) και υπολογίζει σωστά και τις βάρδιες που περνούν την επόμενη μέρα.
Python + Streamlit. Διάλεξα αυτόν τον συνδυασμό γιατί:
- Είναι ο πιο γρήγορος τρόπος να φτιαχτεί τοπική εφαρμογή με upload αρχείου και πίνακα αποτελεσμάτων.
- Η Python έχει εξαιρετική υποστήριξη για Excel (
pandas+openpyxl). - Το Streamlit τρέχει τοπικά στον browser σου — δεν χρειάζεται να φτιάξεις GUI από το μηδέν, ούτε να ανεβάσεις τα δεδομένα κάπου στο internet. Όλα μένουν στον υπολογιστή σου.
- Εγκαθίσταται με μία εντολή και τρέχει σε Windows / macOS / Linux.
Απαιτείται Python 3.10+ (κατέβασέ τη από python.org αν δεν την έχεις).
# 1. Κάνε clone το repo
git clone https://github.com/Boooowz/Grid_analyzer.git
cd Grid_analyzer
# 2. (Προαιρετικό) Φτιάξε virtual environment
python -m venv .venv
source .venv/bin/activate # Linux / macOS
.venv\Scripts\activate # Windows
# 3. Εγκατέστησε τα requirements
pip install -r requirements.txt
streamlit run app.pyΘα ανοίξει αυτόματα ο browser στο http://localhost:8501. Από εκεί:
- Πάτα Upload και διάλεξε το
.xlsxαρχείο του μήνα. - Η εφαρμογή ανιχνεύει αυτόματα τους εργαζόμενους και υπολογίζει τα στατιστικά.
- Δες τα αποτελέσματα σε πίνακα ή κατέβασέ τα ως Excel / CSV.
- Νυχτερινή ώρα: κάθε ώρα ή κλάσμα ώρας στο διάστημα 22:00 έως 06:00 του επόμενου πρωινού.
- Βάρδια που τελειώνει
00:00: θεωρείται ότι κλείνει στις 24:00 της ίδιας μέρας. - Βάρδια που περνάει μεσάνυχτα (π.χ.
19:00-03:00): οι ώρες μετά τα μεσάνυχτα χρεώνονται στην ημέρα έναρξης της βάρδιας. Δηλαδή αν ξεκίνησε Σάββατο, μετράνε ως Σάββατο — όχι Κυριακή. - Ώρες Κυριακής: μετράνε μόνο όσες ώρες πέφτουν μέσα στην Κυριακή 00:00–24:00. Αν η βάρδια ξεκίνησε Κυριακή 22:00 και τελειώνει Δευτέρα 06:00, μόνο οι 2 πρώτες ώρες θεωρούνται «Κυριακή».
- Σύνολο Κυριακών: μετράνε οι ξεχωριστές Κυριακές που εμφανίζουν τουλάχιστον μία ώρα εργασίας.
Grid_analyzer/
├── app.py # Το Streamlit UI (upload + εμφάνιση πίνακα)
├── analyzer.py # Η λογική υπολογισμού των ωρών
├── requirements.txt # Εξαρτήσεις Python
└── README.md
Προσωπική χρήση.