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
.
├── 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:
pip install pandas openpyxl
Nutzung
Variante 1: Verarbeitung über Input-Ordner
- Excel-Dateien in das Verzeichnis
input/legen run.batausfü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:
{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:
{
"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:
if __name__ == "__main__":
main()
Hinweis
Das Skript ist für die Batch-Verarbeitung von Dateien vorgesehen und verfügt über keine grafische Oberfläche.