- .git
- docs
- example
- src
- tests
- .editorconfig
- .gitattributes
- .gitignore
- changelog.md
- changelog.vorlage.md
- LICENSE
- mkdocs.yml
- pyproject.toml
- requirements.txt
- requirements_info.md
- requirements-dev.txt
- README.md
eSaver Ausw Ersparnis v1.02.2 packages
Auswertung Ersparnis v1.02.2 - (c) GMarder /eSaver GmbH
Motivation
Die Projekt-Daten werden in zur Zeit in 2 unterschiedlichen VIDA-Daten-Erfassungen aufgezeichnet.
-
Für eine Jahresauswertung müssend diese Dateien zu erst in 12 Monatstateien
vom VIDA System exportiert werden. -
Dann werden die hinterlegten Werte in eine Import-Datei konvertioert und die
Einheiten ggf. angepasst z.B.: W/h in kW/h -
Die aufbereiteten Monats-Dateien werden danach in die Jahresauswertung übernommen,
und werden dort unter Excel weiter berechnet.
Funktions Ablauf
Alle Benötigten Dateinamen und ablageorte werden in einer Excel-Datei gesammelt, mit der dann die Konvertierung erfolgt
Zum testen der Verbindung zum Python-Programm wurden 2 Buttons eingebunden;
bei erfolgreicher Verbindung werden je 2 Texte invertiert ausgegeben.
Einstellungen in der Excel-Datei
Hinterlegen der Projekt - Kennung
| items | Wert |
|---|---|
| Projekt-Name | Name1-Name2 |
| Projekt-Typ | G 63 M / 1000 kVA |
| Projekt-Nr. | PJJ0X0XX |
| Datum | 18.02.2026 |
| Jahresübersicht | 2025 |
| Datum_Start | 01.01.2025 |
| Datum_Ende | 31.12.2025 |
Hinterlegen der VIDA-Version und ablageortde der Dateien
| items | Wert |
|---|---|
| VIDA-Version | VIDA-SystemX |
| Export VIDA | Stundenverbrauch |
| Path_Export_Files | C:\ ...\VIDA-Export-Path\ ...\eSaver_Ausw_Erspar\example |
| Path_Import_Files | C:\ ...\VIDA-Import-Path\ ...\eSaver_Ausw_Erspar\example |
Hinterlegen der Export-Files von den jeweiligen VIDA-Datenerfassungen
| items | Wert |
|---|---|
| Export_File_01_Jan | PJJ0X0XX Export_VIDA-Data_2025_0101_2025_0201_StdVerBer_GM.csv |
| Export_File_xx_mon | PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_yy01_StdVerBer_GM.csv |
| Export_File_12_Jan | PJJ0X0XX Export_VIDA-Data_2025_1201_2025_1201_StdVerBer_GM.csv |
Hinterlegen der Import-Files von den jeweiligen VIDA-Datenerfassungen
| items | Wert |
|---|---|
| Import_File_01_Jan | PJJ0X0XX Import_VIDA-Data_2025_0101_2025_0201_StdVerBer_Imp.csv |
| Import_File_xx_mon | PJJ0X0XX Import_VIDA-Data_2025_xx01_2025_yy01_StdVerBer_Imp.csv |
| Import_File_12_Jan | PJJ0X0XX Import_VIDA-Data_2025_1201_2025_1201_StdVerBer_Imp.csv |
Bedienung der Excel-Datei
Zur leichteren Bedienung der Konvertierung der Dateien und die Übernahme der Werte
in die Jahresauswertungs-Datei wurden Bedien-Buttons eingebunden.
Button zum testen der Verbindung zu Python
| [test main] | [test ahoy] |
|---|
-
[Test Main]
Damit wird die Funktion "xw_main_req" in python aufgerufen,
und eine Nachricht in die Zeile A1 geschriebenDer Text wird Invertiert, um eine Rückmeldung von Python zu erkennen
-
[Test ahoy]
Damit wird die Funktion "xw_ahoy_req" in python aufgerufen,
und eine Nachricht in die Zeile A1 geschriebenDer Text wird Invertiert, um eine Rückmeldung von Python zu erkennen
Button zum Bearbeiten der VIDA-Daten
| [init Excel Datei] | [gen Import Dateien] | [Import in Auswertungs Datei] |
|---|---|---|
-
[init Excel Datei]
Damit wird die Funktion (Initialisierung der Excel-Importeingträge) in python aufgerufen,
mit diesder Funktion werden die Dateinamen aus en Spalten "Export-Files_MM_mmm" gelesen und
die Erweiterungen gegen _Import.xlsx getauscht. Diese Dateinamen weren dann in der Excel unter den "Import_Files_MM_mmm" eingetragenAls Rückmeldung sind die Eintragungen zu erkannen.
-
[gen Import Datei]
Damit wird die Funktion (generieren der Import Dateien) in python aufgerufen,
mit diesder Funktion werden die einzelnen Export-Dateien eingelesen und die gelesenen Werte überprüft. Die Werte werden auf eine genormte Einheit konvertiert und in das excel-Format überführt. Danach werden die einzelnen Import-Files "Import_Files_MM_mmm" erstellt.Als Rückmeldung springt der Button wieder aus seiner gedrückten Position zurück.
-
[Import in Auswertungs Datei]
Damit wird die Funktion (Importiere gnerierte Werte in die Jahresauswertungs-Datei) in python aufgerufen,
mit diesder Funktion werden die einzelnen Import-Dateien eingelesen und die gelesenen Werte überprüft. Das Datum in den Import-Dateien bestimmen welche Tabelle in der "Auswertungs-Datei" geöffnet wird. Danach werden die einzelnen Werte in die "Auswertungs-Datei" übertragen.Als Rückmeldung springt der Button wieder aus seiner gedrückten Position zurück.
Zum Konvertieren sind 3 Buttons hinterlegt:
-
Schritt 1:
Export-Dateien in der Excel lesen und die Import-Dateien vom Namen erstellen und in die Excel-Dateischreiben. -
Schritt 3:
Export-Dateien in Import-Dateien umsetzen und die Werte entsprechend Formatieren. -
Schritt 3:
Die Import-Dateien lesen und in die Jahres Übersichts-Datei überführen.
Programm Infos
Struktur
├── pyproject.toml
├── ... other config files ...
├── docs
│ ├── api_eS_Ausw_1_xlsm_Init_reads.md
│ ├── api_eS_Ausw_2_csv_to_excel_and_scan_kw.md
│ ├── api_eS_Ausw_2_xlsx_to_excel_and_scan_kw.md
│ ├── api_eS_Ausw_3_Imports_to_Ausw.md
│ ├── api_eS_Ausw_Erspar.md
│ ├── api_eS_Data_App.md
│ ├── api_eS_Data_XLS.md
│ ├── api.md
│ └── index.md
├── examples
├── ├── PJJ0X0XX_Emty
├── ├── ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
├── ├── ├── "=" // Muster-Dateien ohne Werte
├── ├── └── ...
├── ├── PJJ0X0XX_Values
├── ├── ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
├── ├── ├── "=" // Muster-Dateien mit Werten
├── ├── └── ...
│ ├── eSaver_Export_VIDA_Ausw_Erspar_SVB_PJJ0X0XX.xlsm
│ ├── PJJ0X0XX Export_VIDA-Data_2025_0101_2025_0101_StdVerBer_GM.csv
│ ├── PJJ0X0XX Export_VIDA-Data_2025_xx01_2025_xx01_StdVerBer_GM.csv
│ ├── PJJ0X0XX Export_VIDA-Data_2025_1201_2026_0101_StdVerBer_GM.csv
│ ├── PJJ0X0XX_Name1-Name2 Ersparnis 2025_01-12 - Stundenbasiert GMpk.xlsx
│ └── ...
├── src
│ ├── __init__.py
│ ├── eSaver_Ausw_1_xlsm_Init_reads.py
│ ├── eSaver_Ausw_2_csv_to_excel_and_scan_kw_v.py
│ ├── eSaver_Ausw_2_xlsx_to_excel_and_scan_kw_v.py
│ ├── eSaver_Ausw_3_excel_Imp_to_excel_Ausw.py
│ ├── eSaver_Data_App.py
│ └── eSaver_Data_XLS.py
└── tests
├── __init__.py
└── test_eSaver_Data_App_pytest.py.py
Commands
# Build and Install (local)
pip install -e . # OR
pip install -e ../eSaver_Ausw_Erspar_py_v1.02.2.5_py31403 # OR
pip install -e ../eSaver_Ausw_Erspar_py_v1.02.2.5_py31403[all]
# Test
pytest tests # OR
pytest . # OR
pytest
# Code Coverage
pytest --cov=src tests --cov-report=html
End of File
BSD 3-Clause License
Copyright (c) 2021-2026 by the eSaver GmbH
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.




