Files
2026-05-06 14:35:12 +02:00

147 lines
2.8 KiB
Markdown

# Auswertung Automationskalkulation
Dieses Repository enthält ein Python-Skript zur automatisierten Auswertung von Excel-Dateien. Die Verarbeitung erfolgt entweder über einen Input-Ordner oder durch Übergabe einzelner Dateien per Kommandozeile.
---
## Projektstruktur
```text
.
├── src/
│ └── main.py
├── input/
│ └── Excel-Dateien zur Verarbeitung
├── output/
│ └── erzeugte Ergebnisdateien
├── config/
│ └── config.json
├── run.bat
└── README.md
```
---
## Voraussetzungen
- Python 3.9 oder höher
- Abhängigkeiten:
- pandas
- openpyxl
Installation der Abhängigkeiten:
```text
pip install pandas openpyxl
```
---
## Nutzung
### Variante 1: Verarbeitung über Input-Ordner
1. Excel-Dateien in das Verzeichnis `input/` legen
2. `run.bat` ausführen
Alle Dateien im Input-Ordner werden verarbeitet.
---
### Variante 2: Verarbeitung einzelner Dateien
Excel-Dateien auf `run.bat` ziehen.
Nur die übergebenen Dateien werden verarbeitet.
---
## Ausgabe
Die Ergebnisdateien werden im Verzeichnis `output/` gespeichert.
Der Dateiname hat folgendes Format:
```text
{inputname}*auswertung*{timestamp}.xlsx
```
Inhalt der Ausgabe:
- aggregierte Stunden pro Sivas:AG
- Detailaufstellungen je Eintrag
- zusätzliche Werte aus der ersten Datei
---
## Konfiguration
Die Datei `config/config.json` enthält Konfigurationsparameter.
Beispiel:
```json
{
"merge_groups": [
["25", "26"],
["47/101", "50/111"]
]
}
```
Die definierten Sivas-Arbeitsgänge werden bei der Zusammenführung von Schlüsseln berücksichtigt. Dabei werden alle Zeilen mit gleichen Werten der Spalte D ("Sivas:AG") zusammengeführt.
Beispiel:
- ["25", "26"]: "Montage Elektrisch/Inbetriebnahmetest Hardware durch Montage" (Sivas AG 25) und "Maschinentest/Inbetriebnahmeunterstützung durch Montage" (Sivas AG 26)
- ["47/101", "50/111"]: "SPS-Inbetriebsetzung" (Sivas AG 47/101) und "PC-Inbetriebsetzung" (Sivas AG 50/111)
---
## Verarbeitungslogik
Das Skript verarbeitet definierte Zellbereiche aus Excel-Dateien:
- Zeilen 28 bis 56
- Spalte D: Schlüssel (Sivas:AG)
- Spalte F: Stunden
- Spalte A: Beschreibung
Die Stundenwerte werden gerundet und pro Schlüssel aggregiert.
---
## Fehlerquellen
Keine Ausgabe oder leere Verarbeitung kann folgende Ursachen haben:
- Input-Verzeichnis ist leer
- keine gültigen Excel-Dateien vorhanden
- temporäre Excel-Dateien (`~$...`) werden ignoriert
- falsches Arbeitsverzeichnis beim Start
---
## Ausführungsvoraussetzung im Skript
Die Datei `main.py` muss folgenden Einstiegspunkt enthalten:
```python
if __name__ == "__main__":
main()
```
---
## Hinweis
Das Skript ist für die Batch-Verarbeitung von Dateien vorgesehen und verfügt über keine grafische Oberfläche.
---