Update CMDB2CSV_Aufbaumaster.py
This commit is contained in:
@@ -6,6 +6,7 @@ import pandas as pd
|
||||
from icecream import ic
|
||||
import numpy as np
|
||||
import json
|
||||
import logging
|
||||
|
||||
|
||||
class MainUI(QDialog): # erbt von QDialog
|
||||
@@ -13,7 +14,21 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
# super (MainUI, self).__init__() #Aufrufen des Konstruktors von QDialog
|
||||
super().__init__()
|
||||
loadUi("Aufbaumaster2CSV.ui", self)
|
||||
|
||||
self.logger = logging.getLogger("Aufbaumaster2CSV")
|
||||
self.logger.setLevel(logging.DEBUG)
|
||||
self.log_file = "aufbaumaster2csv.log"
|
||||
self.file_handler = logging.FileHandler(self.log_file)
|
||||
self.file_handler.setLevel(logging.DEBUG)
|
||||
|
||||
|
||||
self.formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
||||
self.file_handler.setFormatter(self.formatter)
|
||||
if not self.logger.hasHandlers():
|
||||
self.logger.addHandler(self.file_handler)
|
||||
|
||||
self.filename = None
|
||||
self.onlyfilename = None
|
||||
self.path = None
|
||||
self.df_vte = None
|
||||
self.df_cmdb = None
|
||||
@@ -40,6 +55,10 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
self.data = json.load(file)
|
||||
print(self.data)
|
||||
|
||||
# def do_something(self):
|
||||
|
||||
# MainUI.logger.debug("Debugging info...")
|
||||
|
||||
def open_file_dialog(self):
|
||||
self.filename, _ = QFileDialog.getOpenFileName(
|
||||
self,
|
||||
@@ -52,19 +71,31 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
|
||||
if self.filename:
|
||||
self.path = Path(self.filename)
|
||||
self.onlyfilename = os.path.basename(self.filename)
|
||||
|
||||
|
||||
self.collect_allgemein()
|
||||
self.collect_cmdb_daten_gg()
|
||||
self.collect_cmdb_daten_erw()
|
||||
# self.collect_cmdb_daten_gg()
|
||||
# self.collect_cmdb_daten_erw()
|
||||
self.collect_vm()
|
||||
|
||||
def collect_vm(self):
|
||||
self.df_vte_vm= self.df_vte[self.df_vte['Gruppierung'] == 'VM']
|
||||
if self.df_vte_vm.empty:
|
||||
self.logger.info("Aufbaumaster %s hat keine VMs! - Beendung des Programms",self.onlyfilename)
|
||||
sys.exit(0)
|
||||
self.df_cmdb_vm = self.df_cmdb[self.df_cmdb['Filter'] == 'VM']
|
||||
|
||||
self.df_vte_vm = self.df_vte_vm.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_cmdb_vm = self.df_cmdb_vm.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_vte_vm = self.bereinigen_leerzeichen(self.df_vte_vm)
|
||||
self.df_cmdb_vm = self.bereinigen_leerzeichen(self.df_cmdb_vm)
|
||||
|
||||
self.df_cmdb_vm = self.df_cmdb_vm.drop(columns=['WV-Start', 'WV-Ende', 'CMDB-Status', 'Aufgabe Schritt', 'Filter', 'Waermeabgabe [BTU/h]','kalk. Strom [A]'])
|
||||
|
||||
ic(self.df_vte_vm)
|
||||
ic(self.df_cmdb_vm)
|
||||
|
||||
def bereinigen_leerzeichen(self, df):
|
||||
return df.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
|
||||
def collect_cmdb_daten_gg(self):
|
||||
# Einlesen der Sheets allgemein
|
||||
@@ -77,9 +108,10 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
|
||||
|
||||
# Führende Leerzeichen in allen Spalten entfernen
|
||||
self.df_vte_gg = self.df_vte_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_cmdb_gg = self.df_cmdb_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_vte_gg = self.bereinigen_leerzeichen(self.df_vte_gg)
|
||||
self.df_cmdb_gg = self.bereinigen_leerzeichen(self.df_cmdb_gg)
|
||||
|
||||
|
||||
# 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]',
|
||||
@@ -400,14 +432,13 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
|
||||
def collect_cmdb_daten_erw(self):
|
||||
############## Erweiterung ################################################################################
|
||||
# Kopieren
|
||||
self.df_vte_erw = self.df_vte
|
||||
self.df_cmdb_erw = self.df_cmdb
|
||||
|
||||
|
||||
# Führende Leerzeichen in allen Spalten entfernen
|
||||
self.df_vte_erw = self.df_vte_erw.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_cmdb_erw = self.df_cmdb_erw.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||
self.df_vte_erw = self.bereinigen_leerzeichen(self.df_vte_erw)
|
||||
self.df_cmdb_erw = self.bereinigen_leerzeichen(self.df_cmdb_erw)
|
||||
|
||||
|
||||
# Auffüllen der Spalte Hostname
|
||||
self.df_vte_erw['Hostname']= self.df_vte_erw['Hostname'].replace('', np.nan)
|
||||
|
||||
@@ -540,6 +571,7 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
|
||||
self.dfb_gg.to_csv(os.path.splitext(os.path.basename(self.savefilename))[0]+"_GG"+os.path.splitext(os.path.basename(self.savefilename))[1], index=None, header=True, encoding='utf-8')
|
||||
self.dfb_erw.to_csv(os.path.splitext(os.path.basename(self.savefilename))[0]+"_ERW"+os.path.splitext(os.path.basename(self.savefilename))[1], index=None, header=True, encoding='utf-8')
|
||||
self.dfb_vm.to_csv(os.path.splitext(os.path.basename(self.savefilename))[0]+"_VM"+os.path.splitext(os.path.basename(self.savefilename))[1], index=None, header=True, encoding='utf-8')
|
||||
# print("Datei wurde gespeichert:", self.savefilename)
|
||||
|
||||
def collect_allgemein(self):
|
||||
@@ -548,6 +580,10 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
|
||||
self.df_cmdb = pd.read_excel(self.filename, header=2, sheet_name="CMDB", engine='pyxlsb')
|
||||
|
||||
# Kopieren
|
||||
self.df_vte_erw = self.df_vte
|
||||
self.df_cmdb_erw = self.df_cmdb
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
ui = MainUI()
|
||||
|
||||
Reference in New Issue
Block a user