def ope(self, rowclicked, colclicked, ty): node_type = self.project_detail.iloc[rowclicked]['模块类型'] node_name = self.project_detail.iloc[rowclicked]['模块名字'] node_save_path = self.project_detail.iloc[rowclicked]['保存地址'] try: fr = open(node_save_path, 'rb') node_info = pickle.load(fr) fr.close() flag_error = 0 except Exception as e: flag_error = 1 tk.messagebox.showwarning('错误', e) if flag_error != 1: try: if self.root2.state() == 'normal': tk.messagebox.showwarning('错误', "请先处理当前打开窗口") except: self.root2 = Toplevel(self.root) self.root2.title(node_name) # try: if node_type == 'DATA': new_node = inputdata(self.root2, self.project_detail) new_node.load(node_info) new_node.variable_seting_ui() elif node_type == 'SPLIT': new_node = spliting(self.root2, self.project_detail) new_node.load_node(node_data=node_info, ac=ty) elif node_type == 'SAMPLE': new_node = sample(self.root2, self.project_detail) new_node.load_node(node_data=node_info, ac=ty) elif node_type == 'IGN': new_node = IGN(self.root2, self.project_detail) new_node.load_node(node_info, ac=ty) elif node_type == 'SCR': new_node = model(self.root2, self.project_detail) new_node.import_node(node_info, ac=ty) elif node_type == 'Scoring': new_node = scoreing(self.root2, self.project_detail) new_node.load_node(node_info, ac=ty) self.root.wait_window(self.root2) try: tt = [{ '模块类型': new_node.node_setting['node_type'], '模块名字': new_node.node_setting['node_name'], '引用模块': new_node.node_setting['use_node'], '保存地址': new_node.node_setting['node_save_path'], '创建时间': new_node.node_setting['time'], '状态': 'Good' }] mm = pd.DataFrame(tt) self.project_detail = self.project_detail[ self.project_detail['模块名字'] != node_name] self.project_detail = self.project_detail.append(mm) self.refresh_df(self.root, self.project_detail) except: pass
def func_menu(self, func): try: if self.root2.state() == 'normal': tk.messagebox.showwarning('错误', "请先处理当前打开窗口") except: self.root2 = Toplevel(self.root) if func == 'importdata': self.root2.title('导入数据集') new_node = inputdata(self.root2, self.project_detail) new_node.newdatainput() tip = '导入数据集' elif func == 'split': self.root2.title('数据集分区') new_node = spliting(self.root2, self.project_detail) new_node.ui_start() tip = '数据集分区' elif func == 'sampling': self.root2.title('数据集抽样') new_node = sample(self.root2, self.project_detail) new_node.ui_start() tip = '数据集抽样' elif func == 'IGN': self.root2.title('交互式分组') new_node = IGN(self.root2, self.project_detail) new_node.Start_UI() new_node.adjustsetting() tip = '交互式分组' elif func == 'model': self.root2.title('评分卡模型') new_node = model(self.root2, self.project_detail) new_node.Start_UI() new_node.adjustsetting() tip = '评分卡模型' elif func == 'Scoring': self.root2.title('数据集打分') new_node = scoreing(self.root2, self.project_detail) new_node.Start_UI() new_node.adjustsetting() tip = '数据集打分' elif func == 'load_node': new_node = import_node(self.root2, self.project_detail) tip = '导入模块' self.root.wait_window(self.root2) if new_node.save != 'Y': tk.messagebox.showwarning('错误', "%s未完成" % tip) else: try: print(new_node.save) tt = [{ '模块类型': new_node.node_setting['node_type'], '模块名字': new_node.node_setting['node_name'], '引用模块': new_node.node_setting['use_node'], '保存地址': new_node.node_setting['node_save_path'], '创建时间': new_node.node_setting['time'], '状态': 'Good' }] mm = pd.DataFrame(tt) print(mm) self.project_detail = self.project_detail.append(mm) # del new_node self.refresh_df(self.root, self.project_detail) except Exception as e: tk.messagebox.showwarning('错误', "%s未完成%s" % (tip, e))
def gettraindata(self, filename): data = inputdata(filename) self.traindata = data self.trainuserid = data.keys()