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:
@@ -5,7 +5,7 @@ from pathlib import Path
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from icecream import ic
|
from icecream import ic
|
||||||
import re
|
import re
|
||||||
#import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
class MainUI(QDialog): # erbt von QDialog
|
class MainUI(QDialog): # erbt von QDialog
|
||||||
@@ -43,14 +43,10 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
if self.filename:
|
if self.filename:
|
||||||
self.path = Path(self.filename)
|
self.path = Path(self.filename)
|
||||||
|
|
||||||
self.collect_grundgeraete()
|
self.collect_cmdb_daten_gg()
|
||||||
|
self.collect_cmdb_daten_erw()
|
||||||
|
|
||||||
# self.collect_erweiterung()
|
def collect_cmdb_daten_gg(self):
|
||||||
|
|
||||||
def onClicked(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def collect_grundgeraete(self):
|
|
||||||
# Einlesen der Sheets allgemein
|
# Einlesen der Sheets allgemein
|
||||||
self.df_vte = pd.read_excel(self.filename, header=7, na_filter=False, sheet_name='VTE-Input',
|
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')
|
usecols=['Hostname', 'Gruppierung', 'CONFIG-ID', 'CMDB Status'], engine='pyxlsb')
|
||||||
@@ -63,10 +59,6 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
# Sheet CMDB
|
# Sheet CMDB
|
||||||
self.df_cmdb_gg = self.df_cmdb[self.df_cmdb['Filter'] == 'Grundgerät']
|
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
|
# Teil Grundgeräte
|
||||||
self.df_cmdb_gg = self.df_cmdb_gg.drop(
|
self.df_cmdb_gg = self.df_cmdb_gg.drop(
|
||||||
@@ -135,13 +127,15 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
|
|
||||||
def suche_Einschub(self, einschub):
|
def suche_Einschub(self, einschub):
|
||||||
if einschub['Montageort'][-1] in ('v','h'):
|
if einschub['Montageort'][-1] in ('v','h'):
|
||||||
print (einschub['Montageort'])
|
if einschub['Montageort'][-1] == 'v':
|
||||||
einschub['Einschub'] = einschub['Montageort'][-1]
|
einschub['Einschub'] = 'Vorderseite'
|
||||||
|
else:
|
||||||
|
einschub['Einschub'] = 'Rückseite'
|
||||||
return einschub
|
return einschub
|
||||||
|
|
||||||
def montageort(self, montage):
|
def montageort(self, montage):
|
||||||
# Fehlerbereinigung
|
# Fehlerbereinigung
|
||||||
ic("Montage: ", montage)
|
# ic("Montage: ", montage)
|
||||||
if montage['ID\nStandort']not in ("Ber-PS", "Bon-BTW"):
|
if montage['ID\nStandort']not in ("Ber-PS", "Bon-BTW"):
|
||||||
print("Kein Standort P40 oder BTW")
|
print("Kein Standort P40 oder BTW")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
@@ -385,15 +379,45 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
|
|
||||||
return zeile
|
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):
|
def save_file_dialog(self):
|
||||||
ic(self.dfb_gg)
|
# ic(self.dfb_gg)
|
||||||
options = QFileDialog.Options()
|
options = QFileDialog.Options()
|
||||||
options |= QFileDialog.DontUseNativeDialog
|
options |= QFileDialog.DontUseNativeDialog
|
||||||
self.savefilename, _ = QFileDialog.getSaveFileName(self,
|
self.savefilename, _ = QFileDialog.getSaveFileName(self,
|
||||||
"Save File", "", "CSV(*.csv);;CSV Files(*.csv)",
|
"Save File", "", "CSV(*.csv);;CSV Files(*.csv)",
|
||||||
options=options)
|
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)
|
print("Datei wurde gespeichert:", self.savefilename)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user