From 9204dfeb1ac61c28415bfdaace13b90692ebe9d9 Mon Sep 17 00:00:00 2001 From: Sven Riwoldt Date: Mon, 28 Oct 2024 14:05:02 +0000 Subject: [PATCH] =?UTF-8?q?Erweiterungen=20hinzugef=C3=BCgt,=20hier=20mit?= =?UTF-8?q?=20ffill=20die=20Hostnamen=20gef=C3=BCllt=20zwecks=20des=20Zusa?= =?UTF-8?q?mmenf=C3=BCgens=20Dateiname=20zum=20Speichern=20passt=20noch=20?= =?UTF-8?q?nicht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMDB2CSV_Aufbaumaster.py | 60 ++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/CMDB2CSV_Aufbaumaster.py b/CMDB2CSV_Aufbaumaster.py index 12ef4d2f..66a71b14 100755 --- a/CMDB2CSV_Aufbaumaster.py +++ b/CMDB2CSV_Aufbaumaster.py @@ -5,7 +5,7 @@ from pathlib import Path import pandas as pd from icecream import ic import re -#import numpy as np +import numpy as np class MainUI(QDialog): # erbt von QDialog @@ -43,14 +43,10 @@ class MainUI(QDialog): # erbt von QDialog if self.filename: self.path = Path(self.filename) - self.collect_grundgeraete() + self.collect_cmdb_daten_gg() + self.collect_cmdb_daten_erw() -# self.collect_erweiterung() - - def onClicked(self): - pass - - def collect_grundgeraete(self): + def collect_cmdb_daten_gg(self): # Einlesen der Sheets allgemein self.df_vte = pd.read_excel(self.filename, header=7, na_filter=False, sheet_name='VTE-Input', usecols=['Hostname', 'Gruppierung', 'CONFIG-ID', 'CMDB Status'], engine='pyxlsb') @@ -63,11 +59,7 @@ class MainUI(QDialog): # erbt von QDialog # Sheet CMDB self.df_cmdb_gg = self.df_cmdb[self.df_cmdb['Filter'] == 'Grundgerät'] - # Nach relevanten Spalten filtern Erweiterung - self.df_vte_erw = self.df_vte[self.df_vte['Gruppierung'] == 'Erweiterung'] - - self.df_cmdb_erw = self.df_cmdb[self.df_cmdb['Filter'] == 'Erweiterung'] - + # Teil Grundgeräte self.df_cmdb_gg = self.df_cmdb_gg.drop( columns=['WV-Start', 'WV-Ende', 'CMDB-Status', 'Aufgabe Schritt', 'Filter', 'Waermeabgabe [BTU/h]', @@ -135,13 +127,15 @@ class MainUI(QDialog): # erbt von QDialog def suche_Einschub(self, einschub): if einschub['Montageort'][-1] in ('v','h'): - print (einschub['Montageort']) - einschub['Einschub'] = einschub['Montageort'][-1] + if einschub['Montageort'][-1] == 'v': + einschub['Einschub'] = 'Vorderseite' + else: + einschub['Einschub'] = 'Rückseite' return einschub def montageort(self, montage): # Fehlerbereinigung - ic("Montage: ", montage) +# ic("Montage: ", montage) if montage['ID\nStandort']not in ("Ber-PS", "Bon-BTW"): print("Kein Standort P40 oder BTW") sys.exit(0) @@ -384,16 +378,46 @@ class MainUI(QDialog): # erbt von QDialog zeile['Objekttyp (CMDB)'] = 'C__OBJTYPE__VIRTUAL_HOST' return zeile + + def collect_cmdb_daten_erw(self): + ############## Erweiterung ################################################################################ + # Kopieren + self.df_vte_erw = self.df_vte + + # Auffüllen der Spalte Hostname + self.df_vte_erw['Hostname']= self.df_vte_erw['Hostname'].replace('', np.nan) + + self.df_vte_erw['Hostname'] = self.df_vte_erw['Hostname'].fillna(method='ffill') + + # Nach relevanten Spalten filtern Erweiterung + self.df_vte_erw = self.df_vte_erw[self.df_vte_erw['Gruppierung'] == 'Erweiterung'] + + print("Self_ERW: ",self.df_vte_erw['Hostname']) + + self.df_cmdb_erw = self.df_cmdb + self.df_cmdb_erw['Hostname']= self.df_cmdb_erw['Hostname'].replace('', np.nan) + + self.df_cmdb_erw['Hostname'] = self.df_cmdb_erw['Hostname'].fillna(method='ffill') + self.df_cmdb_erw = self.df_cmdb_erw[self.df_cmdb_erw['Filter'] == 'Grundgerät'] + + # Zusammensetzen der Tabellen + self.dfb_erw = self.df_vte_erw.merge(self.df_cmdb_erw, on=['Hostname'], how='left') + + ic(self.dfb_erw) + + ########################################################################################## + def save_file_dialog(self): - ic(self.dfb_gg) +# ic(self.dfb_gg) options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog self.savefilename, _ = QFileDialog.getSaveFileName(self, "Save File", "", "CSV(*.csv);;CSV Files(*.csv)", options=options) - self.dfb_gg.to_csv(self.savefilename, index=None, header=True, encoding='utf-8') + self.dfb_gg.to_csv(self.savefilename+"_GG", index=None, header=True, encoding='utf-8') + self.dfb_erw.to_csv(self.savefilename+"_ERW", index=None, header=True, encoding='utf-8') print("Datei wurde gespeichert:", self.savefilename)