Erweiterungen hinzugefügt, hier mit ffill die Hostnamen gefüllt zwecks des Zusammenfügens

Dateiname zum Speichern passt noch nicht
This commit is contained in:
2024-10-28 14:05:02 +00:00
parent d806fc4670
commit 9204dfeb1a

View File

@@ -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)