From f35f092a513824fe5c215f7c4a53354e3b09ad54 Mon Sep 17 00:00:00 2001 From: Sven Riwoldt Date: Tue, 22 Oct 2024 12:17:30 +0000 Subject: [PATCH] Manipulation von Zellen --- CMDB2CSV_Aufbaumaster.py | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/CMDB2CSV_Aufbaumaster.py b/CMDB2CSV_Aufbaumaster.py index 4a0c357a..177f312a 100755 --- a/CMDB2CSV_Aufbaumaster.py +++ b/CMDB2CSV_Aufbaumaster.py @@ -4,7 +4,7 @@ import sys from pathlib import Path import pandas as pd from icecream import ic -#import numpy as np +import numpy as np class MainUI(QDialog): # erbt von QDialog def __init__(self): #super (MainUI, self).__init__() #Aufrufen des Konstruktors von QDialog @@ -61,14 +61,22 @@ class MainUI(QDialog): # erbt von QDialog # Nach relevanten Spalten filtern self.df_vte = self.df_vte[self.df_vte['Gruppierung']=='Grundgerät'] self.df_vte = self.df_vte.drop(columns=['RAM','Bestelldatum','Hersteller','Lieferant','SAP-Nr.','Lieferdatum','Lieferschein-Nr.','WV-Start','WV-Ende','Aufgaben Schritt']) - #self.df_vte = self.df_vte.columns.difference(self.df_cmdb.columns) - self.df_cmdb = self.df_cmdb[self.df_cmdb['Filter'].isin(['Grundgerät','Erweiterung'])] + self.df_cmdb = self.df_cmdb[self.df_cmdb['Filter'].isin(['Grundgerät','Erweiterung','Aufgabe Schritt'])] self.df_cmdb = self.df_cmdb.drop(columns=['WV-Start','WV-Ende','CMDB-Status']) # Einfügen von Spalten in die CMDB-Tabelle self.dfb = self.df_vte.merge(self.df_cmdb, on=['Hostname'], how='left') - print(self.dfb) + + # Zeile einfügen für HE + self.dfb.insert(loc=47, column='HE', value='') + + self.dfb = self.dfb.apply(self.prüfe_und_setze_wert, axis=1) + + # Setzen von int für HE und Anz. HE + self.df['HE'] = self.df['HE'].apply(lambda x: x if pd.isnull(x) else str(int(x))) + self.df['Anz. HE'] = self.df['Anz. HE'].apply(lambda x: x if pd.isnull(x) else str(int(x))) + #self.dfb = self.dfb.T.drop_duplicates().T # self.dfb = self.dfb.drop(columns=['Bestelldatum_y','Hersteller_y','Lieferant_y','RAM_y','SAP-Nr._y']) # self.dfb = self.dfb.rename(columns={'Bestelldatum_x':'Bestelldatum','Hersteller_x':'Hersteller','Lieferant_x':'Lieferant'}) @@ -88,6 +96,20 @@ class MainUI(QDialog): # erbt von QDialog # print("Filter ", self.filter) #ic(self.filter) + def prüfe_und_setze_wert(self, zeile): + if zeile['Ort'] != ("Ber-PS" or "Bon-BTW"): + print("Kein Standort P40 oder BTW") + sys.exit(0) + else: + if len((zeile['Montageort'][8:13])) !=2: + zeile['HE'] = zeile['Montageort'][8:10] + zeile['Montageort'] = zeile['Montageort'][0:7] + return zeile + else: + zeile['HE'] = zeile['Montageort'][8:10] + zeile['Montageort'] = zeile['Montageort'][0:7] + return zeile + def save_file_dialog(self): ic(self.dfb) options = QFileDialog.Options() @@ -165,7 +187,7 @@ class MainUI(QDialog): # erbt von QDialog # #return id.get( key= "Hostname") # pass - def prüfe_und_setze_wert(self, zeile): +""" def prüfe_und_setze_wert(self, zeile): #ic(zeile) if zeile['Mandanten ID'][4:6] == "10": # Indexe 4 und 5 entsprechen den Stellen 5 und 6 zeile['Mandanten ID'] = 'm10 CMP Plattform / iM.0 / iM.4 / PAP sIMCP' @@ -312,7 +334,7 @@ class MainUI(QDialog): # erbt von QDialog elif zeile['Segment'][6:8] == "x1": zeile['Segment'] = 'm10 SecA2sIM' - return zeile + return zeile """ if __name__ == "__main__" :