diff --git a/Aufbaumaster2CSV.ui b/Aufbaumaster2CSV.ui
index 7f6fc550..515a5571 100755
--- a/Aufbaumaster2CSV.ui
+++ b/Aufbaumaster2CSV.ui
@@ -6,85 +6,13 @@
0
0
- 670
- 258
+ 644
+ 146
Dialog
-
-
-
- 160
- 90
- 160
- 24
-
-
-
-
-
-
- 160
- 140
- 160
- 24
-
-
-
-
-
-
- 40
- 90
- 91
- 16
-
-
-
- Gerätetyp
-
-
-
-
-
- 40
- 140
- 91
- 16
-
-
-
- Gruppierung
-
-
-
-
-
- 40
- 200
- 138
- 21
-
-
-
- nur mit Hostnamen
-
-
-
-
-
- 200
- 200
- 104
- 21
-
-
-
- Alles
-
-
@@ -106,8 +34,8 @@
- 513
- 210
+ 150
+ 80
121
28
@@ -138,8 +66,8 @@
- 401
- 207
+ 38
+ 77
155
30
diff --git a/CMDB2CSV_Aufbaumaster.py b/CMDB2CSV_Aufbaumaster.py
index f7a9924a..4a0c357a 100755
--- a/CMDB2CSV_Aufbaumaster.py
+++ b/CMDB2CSV_Aufbaumaster.py
@@ -12,22 +12,11 @@ class MainUI(QDialog): # erbt von QDialog
loadUi ("Aufbaumaster2CSV.ui", self)
self.filename = None
self.path = None
- self.df = None
+ self.df_vte = None
+ self.df_cmdb = None
self.dfb = None
self.openBtn.clicked.connect(self.open_file_dialog)
self.saveBtn.clicked.connect(self.save_file_dialog)
- self.unique_groups = None
- self.unique_typs = None
- self.gruppierung = self.comboBoxGrp
- self.gruppierung.activated.connect(self.changegroup)
- self.geraetetyp = self.comboBoxGT
- self.geraetetyp.activated.connect(self.changegtyp)
- self.rBtnHostnames.setChecked(True)
- self.rBtnHostnames.host = "Hostnamen"
- self.rBtnAlles.setChecked(False)
- self.rBtnAlles.host = "Alles"
- self.rBtnHostnames.toggled.connect(self.onClicked)
- self.rBtnAlles.toggled.connect(self.onClicked)
self.filter = "Hostnamen"
self.group = None
self.typ = None
@@ -58,23 +47,7 @@ class MainUI(QDialog): # erbt von QDialog
def onClicked(self):
pass
-# radioButton = self.sender()
-# if radioButton.isChecked():
-# self.filter = radioButton.host
-# ic("Filter: ", self.filter)
- #print ("Filter ", self.filter)
- #if self.filter == "Hostnamen":
- # self.df = self.df.dropna(subset=['Hostname'])
- #self.df = (self.df['Hostname']).dropna(how="all")
- #self.df = self.df['Hostname'].str.len() > 0
- # print(self.df['Hostname'])
- #else:
- #self.df = self.df.reset_index(drop=True)
- # self.df = self.dfb
- # self.unique_groups = None
- # self.unique_typs = None
- # self.changetable()
- # print(self.df['Hostname'])
+
def collectdata(self):
@@ -87,17 +60,20 @@ 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.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)
#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','Lieferschein_y','Lieferschein-Nr._y'])
- self.dfb = self.dfb.rename(columns={'Bestelldatum_x':'Bestelldatum','Hersteller_x':'Hersteller','Lieferant_x':'Lieferant'})
+ # 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'})
- ic(self.df_cmdb)
+ # ic(self.df_cmdb)
# Zusammenfassen aller geänderten Werte
@@ -113,158 +89,20 @@ class MainUI(QDialog): # erbt von QDialog
#ic(self.filter)
def save_file_dialog(self):
- pass
-# ic(self.df)
- # options = QFileDialog.Options()
- # options |= QFileDialog.DontUseNativeDialog
- # self.savefilename, _ = QFileDialog.getSaveFileName(self,
- # "Save File", "", "CSV(*.csv);;CSV Files(*.csv)", options = options)
+ ic(self.dfb)
+ options = QFileDialog.Options()
+ options |= QFileDialog.DontUseNativeDialog
+ self.savefilename, _ = QFileDialog.getSaveFileName(self,
+ "Save File", "", "CSV(*.csv);;CSV Files(*.csv)", options = options)
+
+ self.dfb.to_csv(self.savefilename, index=None, header=True, encoding='utf-8')
+ print("Datei wurde gespeichert:", self.savefilename)
-
- #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.df['Objekt-Titel'] = self.df['Hostname']
-
- # für Überarbeitung zwei Spalten
- #self.df["Mandanten ID"] = self.df["Hostname"]
-
- #self.df["Segment"] = self.df["Hostname"]
-
- #self.df = self.df[self.df['Gerätetyp'] == self.typ]
-
-
-
- #self.df = self.df.drop(['Ursprungsdatei', 'Preis aus finaler Bestellung','Bestellung initiiert', 'Kommentar', 'Gruppierung', 'Zuordnung zur Serien-Nr.', 'Bemerkung','in PMA-ISEM erfasst','CMDB erfasst','BSI Kenner'], axis=1)
-
- #self.df = self.df.rename(columns = {"Modell / Artikel / \nAbweichungen": "Modell",
- # "Auftragsnr. Beschaffung": "Auftragsnr.",
- # "Name der Bestellung": "Bestellung",
- # "SAP Nr": "SAP",
- # "Beschaffung und Lieferinfo": "Lieferinfo",
- # })
-
- #self.df['SAP'] = self.df['SAP'].apply(lambda x: x if pd.isnull(x) else str(int(x)))
-
- #self.df.loc[self.df['Rack'] == "FT.31_Rack1_Reihe22_Platz584", "Rack"] = "g1.22.584-590"
- #self.df.loc[self.df['Rack'] == "FT.42_Rack1_Reihe4_Platz501", "Rack"] = "g2.04.501-507"
-
- #self.df['Lieferschein-Nr.'] = self.df['Lieferschein-Nr.'].map(str)
- #self.df['Angebot-Nr.'] = self.df['Angebot-Nr.'].map(str)
-
-
- #if self.typ == "VM" or self.typ == "SFP" or self.typ == "SFP+":
- # self.group = None;
-
- #if self.typ == "SFP" or self.typ == "SFP+":
- # self.df = self.df.drop(["Etage","Raum","Reihe","Rack","HE","Einschub","Montage","Anz. HE", "Formfaktor", "Stadt", "Gebäude", "Lizenz-Key\nWV-Nr.", "RuB-ID","Läuft auf", "Clusterpartner", "CMDB-Status", "Mandanten ID", "Segment"], axis=1)
- # #self.df['Angebot-Nr.'].fillna('')
- # self.df['Angebot-Nr.'] = self.df['Angebot-Nr.'].replace('nan','', regex=True)
- # self.df['Lieferschein-Nr.'] = self.df['Lieferschein-Nr.'].replace('nan','', regex=True)
- #self.df['Gerätetyp'] = self.df['Gerätetyp'].replace('SFP+','SFP', regex=False)
-
-
-
- # Zeilen mit ungenauen Bezeichnern entfernen
-# indexAge = df[(df['Name'] == 'John Holland') | (df['Position'] == 'SG')].index
-# df.drop(indexAge, inplace=True)
- # S-1110-SFP == Medienkonverter
- # indexModell = self.df[ (self.df['Modell'] == 'CISCO TRANSCEIVER MODULE 1000BASE-LX / LH SFP')|
- # (self.df['Modell'] == 'Nokia SFP – GIGE Base T RJ45 R6&6 DDM -40/85C') |
- # (self.df['Modell'] == 'S-1110-SFP') |
- # (self.df['Modell'] == 'Nokia SFP – GIGE LX-LC ROHS 6/6 DDM -40/85C')].index
- #self.df.drop(indexModell, inplace=True)
-
-
-
- #self.df['Modell'] = self.df['Modell'].replace('SFP-MM-1G / PSFP-1000-M2LC05','PSFP-1000-M2LC05', regex=False)
- #self.df['Modell'] = self.df['Modell'].replace('PSFP-1000-M2LC05 / SFP-MM-1G','PSFP-1000-M2LC05', regex=False)
- #self.df['Modell'] = self.df['Modell'].replace('Perle PSFP -1000-S2LC10','PSFP-1000-S2LC10', regex=False)
- #self.df['Modell'] = self.df['Modell'].replace('10G Base Active Optical SFP + Cable 2m','SFP-10G-AOC2M=', regex=False)
- #self.df['Modell'] = self.df['Modell'].replace('10G Base Active Optical SFP + Cable 3m','SFP-10G-AOC3M=', regex=False)
-# self.df['Modell'] = self.df['Modell'].replace('10G Base Active Optical SFP + Cable 2m','SFP-10G-AOC2M=', regex=False)
- #self.df["Objekt-Bezeichner"] = self.df["Modell"]
-
- #self.df = self.df[self.df['Gruppierung'] == self.group]
-
-
-# ic(self.typ)
-# ic(self.group)
-# ic(self.df)
-
-# Entfernt, da ich neue Objektgruppe Terminalserver angelegt habe
-# if self.typ == "Server" and self.group == "Grundgerät":
-# self.df['Kategorie'] = "Server"
-# elif self.typ == "Terminalserver" and self.group == "Grundgerät":
-# self.df['Kategorie'] = "Konsolenserver"
-
-
- #self.df.replace(to_replace=r'ohne', value='', regex=False)
- #pd.is_numeric_dtype(self.df['SAP']):
- # pd.to_numeric(self.df['A'], errors='coerce')
-
-
-
-# ic(self.df)
-
-# ic(self.filter)
-
- #if self.filter == "Hostnamen":
- # self.df = self.df.dropna(subset=['Hostname'])
- # self.df = self.df.apply(self.prüfe_und_setze_wert, axis=1)
-
-
-
-
-
- #ic(type(self.df['Hostname'].str[4:6]))
- #self.df["Mandanten ID"] = self.df['Hostname'].str[4:6]
- #ic(self.df['Hostname'].str[6:8])
- #self.df["Segment"] = self.df['Hostname'].str[6:8]
-
-
- #https://stackoverflow.com/questions/33266344/np-where-not-working-in-my-pandas
- #self.df['Mandanten ID'] = np.where(self.df['Hostname'].str[4:6] == "10", 'm10 CMP Plattform / iM.0 / iM.4 / PAP sIMCP',
- #np.where(self.df['Hostname'].str[4:6] == "19", 'm19 Testumgebung',
- #np.where(self.df['Hostname'].str[4:6] == "20", 'm20 iM.1 Interner Mandant \(Schutzbedarf sehr hoch\)')))
- #self.df['Mandanten ID'].where(self.df['Mandanten ID'] == "19", "m19 Testumgebung")
- #ic(type(self.df['Hostname'].str[4:6]).astype(int))
- #ic(self.df['Hostname'].str[4:6].any())
-
-
- #ic(self.df['Hostname'].str[4:6].all())
- #if (self.df['Hostname'].str[4:6]).any():
- #tmid = self.mandantenid(self.df['Hostname'] )
-
- #ic(tmid[4:6])
- #ic(type(self.mandantenid(self.df['Hostname'])[4:6]))
- #tmid = self.mandantenid(self.df['Hostname'])
- #if self.mandantenid(self.df["Hostname"]) == "10":
- # self.df['Mandanten ID'] = 'm10 CMP Plattform / iM.0 / iM.4 / PAP sIMCP'
- #else:
- # self.df['Mandanten ID'] = "Test"
- # elif self.mandantenid(self.df['Hostname'])[4:6] == "19":
- # self.df['Mandanten ID'] = 'm19 Testumgebung'
- # else:
- # self.df['Mandanten ID'] = self.mandantenid(self.df['Hostname'])[4:6]
-
- #if self.mandantenid():
- #if self.df['Hostname'].any().str.contains('(?![a-z]{4})[0-9]{2}', regex=True):
- #if self.df['Hostname'].any().str.contains('([0-9]{2,2}(?![a-z])', regex=True):
- # pass
-
-# if self.df['Hostname'].str[4:6] =="10":
-# self.df['Mandanten ID'] = 'm10 CMP Plattform / iM.0 / iM.4 / PAP sIMCP'
- #self.df['Mandanten ID'] = 'm10 CMP Plattform / iM.0 / iM.4 / PAP sIMCP'
- # elif (self.df['Hostname'].str[4:6]).any() == "19":
- # self.df['Mandanten ID'] = 'm19 Testumgebung'
- # else:
- # self.df['Mandanten ID'] = self.df["Hostname"].str[4:6]
-
# match item(self.df['Hostname'].str[4:6]):
# case '10':
@@ -295,8 +133,7 @@ class MainUI(QDialog): # erbt von QDialog
# if self.selected_typ_value != "VM":
# self.df = self.df[self.df['Gruppierung'] == selected_group_value]
- # self.df.to_csv(self.savefilename, index=None, header=True, encoding='utf-8')
- # print("Datei wurde gespeichert:", self.savefilename)
+
# def changetable(self):
# with self.path: