# 数据处理相关代码 from time import process_time_ns from PySide6.QtGui import QStandardItemModel, QStandardItem # 稳定性成果表 def Arrange_Data(list1): # 最终return的 list2 = [] # 点号部分 nlist = [] for data1 in list1: # 点名 # 存每一行的数据 resultlist = [] pn = data1[0].decode('utf-8') resultlist.append(pn) nlist.append(pn) resultlist.append(data1[1]) resultlist.append(data1[2]) resultlist.append(data1[3]) resultlist.append(data1[4]) resultlist.append(data1[5]) resultlist.append(data1[6]) resultlist.append(data1[7]) resultlist.append(data1[8]) resultlist.append(data1[9]) resultlist.append(data1[10]) resultlist.append(data1[11]) # 判定1 an1 = data1[12].decode('utf-8') resultlist.append(an1) resultlist.append(data1[13]) resultlist.append(data1[14]) resultlist.append(data1[15]) # 判定2 an2 = data1[16].decode('utf-8') resultlist.append(an2) list2.append(resultlist) return nlist, list2 # GS复测成果表 def Arrange_Data1(list1): # 最终return的 list2 = [] # 点号部分 nlist = [] for data1 in list1: # 点名 # 存每一行的数据 resultlist = [] pn = data1[0].decode('utf-8') resultlist.append(pn) nlist.append(pn) resultlist.append(data1[1]) resultlist.append(data1[2]) resultlist.append(data1[3]) resultlist.append(data1[4]) resultlist.append(data1[5]) resultlist.append(data1[6]) resultlist.append(data1[7]) # 判定 an1 = data1[8].decode('utf-8') resultlist.append(an1) list2.append(resultlist) return nlist, list2 # GS基准归算表 def Arrange_Data2(list1): # 最终return的 list2 = [] # 点号部分 nlist = [] for data1 in list1: # 点名 # 存每一行的数据 resultlist = [] pn = data1[0].decode('utf-8') resultlist.append(pn) nlist.append(pn) resultlist.append(data1[1]) resultlist.append(data1[2]) resultlist.append(data1[3]) resultlist.append(data1[4]) resultlist.append(data1[5]) # 判定 an1 = data1[6].decode('utf-8') resultlist.append(an1) list2.append(resultlist) return nlist, list2 def Data_in_Cell(list1): model = QStandardItemModel() xx = 0 while xx < len(list1): data1 = list1[xx] # 点号 cell1 = str(data1[0]) item = QStandardItem(cell1) model.setItem(xx, 0, item) # 首期 cell1 = str(round(data1[1], 4)) item = QStandardItem(cell1) model.setItem(xx, 1, item) cell1 = str(round(data1[2], 4)) item = QStandardItem(cell1) model.setItem(xx, 2, item) # 上期 cell1 = str(round(data1[3], 4)) item = QStandardItem(cell1) model.setItem(xx, 3, item) cell1 = str(round(data1[4], 4)) item = QStandardItem(cell1) model.setItem(xx, 4, item) # 权 cell1 = str(int(data1[5])) item = QStandardItem(cell1) model.setItem(xx, 5, item) # 本期 cell1 = str(round(data1[6], 4)) item = QStandardItem(cell1) model.setItem(xx, 6, item) cell1 = str(round(data1[7], 4)) item = QStandardItem(cell1) model.setItem(xx, 7, item) # 权 cell1 = str(int(data1[8])) item = QStandardItem(cell1) model.setItem(xx, 8, item) # 本-首 cell1 = str(round(data1[9], 1)) item = QStandardItem(cell1) model.setItem(xx, 9, item) cell1 = str(round(data1[10], 1)) item = QStandardItem(cell1) model.setItem(xx, 10, item) cell1 = str(round(data1[11], 1)) item = QStandardItem(cell1) model.setItem(xx, 11, item) # 判定(如果是稳定则不显示) cell1 = str(data1[12]) if cell1 == '稳定': cell1 = '' item = QStandardItem(cell1) model.setItem(xx, 12, item) # 本-上 cell1 = str(round(data1[13], 1)) item = QStandardItem(cell1) model.setItem(xx, 13, item) cell1 = str(round(data1[14], 1)) item = QStandardItem(cell1) model.setItem(xx, 14, item) cell1 = str(round(data1[15], 1)) item = QStandardItem(cell1) model.setItem(xx, 15, item) # 判定 cell1 = str(data1[16]) if cell1 == '稳定': cell1 = '' item = QStandardItem(cell1) model.setItem(xx, 16, item) xx = xx + 1 return model # GS复测成果表 def Data_in_Cell1(list1): model = QStandardItemModel() xx = 0 while xx < len(list1): data1 = list1[xx] # 点号 cell1 = str(data1[0]) item = QStandardItem(cell1) model.setItem(xx, 0, item) # 上期 cell1 = str(round(data1[1], 4)) item = QStandardItem(cell1) model.setItem(xx, 1, item) cell1 = str(round(data1[2], 4)) item = QStandardItem(cell1) model.setItem(xx, 2, item) # 本期 cell1 = str(round(data1[3], 4)) item = QStandardItem(cell1) model.setItem(xx, 3, item) cell1 = str(round(data1[4], 4)) item = QStandardItem(cell1) model.setItem(xx, 4, item) # 上-本 cell1 = str(round(data1[5], 1)) item = QStandardItem(cell1) model.setItem(xx, 5, item) cell1 = str(round(data1[6], 1)) item = QStandardItem(cell1) model.setItem(xx, 6, item) cell1 = str(round(data1[7], 1)) item = QStandardItem(cell1) model.setItem(xx, 7, item) # 判定(如果是稳定则不显示) cell1 = str(data1[8]) if cell1 == '稳定': cell1 = '' item = QStandardItem(cell1) model.setItem(xx, 8, item) xx = xx + 1 return model # GS基准归算表 def Data_in_Cell2(list1): model = QStandardItemModel() xx = 0 while xx < len(list1): data1 = list1[xx] # 点号 cell1 = str(data1[0]) item = QStandardItem(cell1) model.setItem(xx, 0, item) # 计算 cell1 = str(round(data1[1], 4)) item = QStandardItem(cell1) model.setItem(xx, 1, item) cell1 = str(round(data1[2], 4)) item = QStandardItem(cell1) model.setItem(xx, 2, item) # 上-计 cell1 = str(round(data1[3], 1)) item = QStandardItem(cell1) model.setItem(xx, 3, item) cell1 = str(round(data1[4], 1)) item = QStandardItem(cell1) model.setItem(xx, 4, item) cell1 = str(round(data1[5], 1)) item = QStandardItem(cell1) model.setItem(xx, 5, item) # 判定(如果为稳定则不显示) cell1 = str(data1[6]) if cell1 == '稳定': cell1 = '' item = QStandardItem(cell1) model.setItem(xx, 6, item) xx = xx + 1 return model #稳定性分析输入显示 def WD_In_Data(list1,list0): # 最终return的 list2 = [] # 点号部分 nlist = [] ii = 0 for data1 in list1: # 点名 # 存每一行的数据 resultlist = [] pn = data1[0].decode('utf-8') resultlist.append(pn) nlist.append(pn) resultlist.append(data1[1]) resultlist.append(data1[2]) resultlist.append(data1[3]) resultlist.append(data1[4]) resultlist.append(data1[5]) resultlist.append(data1[6]) resultlist.append(data1[7]) if ii == 0: frn = list0[0].decode('utf-8') resultlist.append(frn) prn = list0[1].decode('utf-8') resultlist.append(prn) nrn = list0[2].decode('utf-8') resultlist.append(nrn) resultlist.append(list0[3]) resultlist.append(list0[4]) resultlist.append(list0[5]) resultlist.append(list0[6]) resultlist.append(list0[7]) ii = ii + 1 else: resultlist.append('') resultlist.append('') resultlist.append('') resultlist.append(0) resultlist.append(0) resultlist.append(0) resultlist.append(0) resultlist.append(0) list2.append(resultlist) model = QStandardItemModel() xx = 0 while xx < len(list2): data1 = list2[xx] # 点号 cell1 = str(data1[0]) item = QStandardItem(cell1) model.setItem(xx, 0, item) # 首期 cell1 = str(round(data1[1], 4)) item = QStandardItem(cell1) model.setItem(xx, 1, item) cell1 = str(round(data1[2], 4)) item = QStandardItem(cell1) model.setItem(xx, 2, item) # 上期 cell1 = str(round(data1[3], 4)) item = QStandardItem(cell1) model.setItem(xx, 3, item) cell1 = str(round(data1[4], 4)) item = QStandardItem(cell1) model.setItem(xx, 4, item) # 权 cell1 = str(int(data1[5])) item = QStandardItem(cell1) model.setItem(xx, 5, item) # 本期 cell1 = str(round(data1[6], 4)) item = QStandardItem(cell1) model.setItem(xx, 6, item) cell1 = str(round(data1[7], 4)) item = QStandardItem(cell1) model.setItem(xx, 7, item) # 几个参数 cell1 = str(data1[8]) item = QStandardItem(cell1) model.setItem(xx, 8, item) cell1 = str(data1[9]) item = QStandardItem(cell1) model.setItem(xx, 9, item) cell1 = str(data1[10]) item = QStandardItem(cell1) model.setItem(xx, 10, item) if data1[11] == 0 and data1[12] == 0: cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 11, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 12, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 13, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 14, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 15, item) else: cell1 = str(round(data1[11], 2)) item = QStandardItem(cell1) model.setItem(xx, 11, item) cell1 = str(round(data1[12], 2)) item = QStandardItem(cell1) model.setItem(xx, 12, item) cell1 = str(round(data1[13], 2)) item = QStandardItem(cell1) model.setItem(xx, 13, item) cell1 = str(round(data1[14], 2)) item = QStandardItem(cell1) model.setItem(xx, 14, item) cell1 = str(round(data1[15], 2)) item = QStandardItem(cell1) model.setItem(xx, 15, item) xx = xx + 1 return model,nlist #改算计算输入显示 def GS_In_Data(list1,list0): # 最终return的 list2 = [] # 点号部分 nlist = [] ii = 0 for data1 in list1: # 点名 # 存每一行的数据 resultlist = [] pn = data1[0].decode('utf-8') resultlist.append(pn) nlist.append(pn) resultlist.append(data1[1]) resultlist.append(data1[2]) resultlist.append(data1[3]) resultlist.append(data1[4]) resultlist.append(data1[5]) if ii == 0: prn = list0[0].decode('utf-8') resultlist.append(prn) nrn = list0[1].decode('utf-8') resultlist.append(nrn) resultlist.append(list0[2]) resultlist.append(list0[3]) resultlist.append(list0[4]) resultlist.append(list0[5]) resultlist.append(list0[6]) resultlist.append(list0[7]) ii = ii + 1 else: resultlist.append('') resultlist.append('') resultlist.append(0) resultlist.append(0) resultlist.append(0) resultlist.append(0) resultlist.append(0) resultlist.append(0) list2.append(resultlist) model = QStandardItemModel() xx = 0 while xx < len(list2): data1 = list2[xx] # 点号 cell1 = str(data1[0]) item = QStandardItem(cell1) model.setItem(xx, 0, item) # 首期 cell1 = str(round(data1[1], 4)) item = QStandardItem(cell1) model.setItem(xx, 1, item) cell1 = str(round(data1[2], 4)) item = QStandardItem(cell1) model.setItem(xx, 2, item) # 上期 cell1 = str(round(data1[3], 4)) item = QStandardItem(cell1) model.setItem(xx, 3, item) cell1 = str(round(data1[4], 4)) item = QStandardItem(cell1) model.setItem(xx, 4, item) # 权 cell1 = str(int(data1[5])) item = QStandardItem(cell1) model.setItem(xx, 5, item) #几个参数 cell1 = str(data1[6]) item = QStandardItem(cell1) model.setItem(xx, 6, item) cell1 = str(data1[7]) item = QStandardItem(cell1) model.setItem(xx, 7, item) if data1[8] == 0 and data1[9] == 0: cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 8, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 9, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 10, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 11, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 12, item) cell1 = str('') item = QStandardItem(cell1) model.setItem(xx, 13, item) else: cell1 = str(round(data1[8], 2)) item = QStandardItem(cell1) model.setItem(xx, 8, item) cell1 = str(round(data1[9], 2)) item = QStandardItem(cell1) model.setItem(xx, 9, item) cell1 = str(format(data1[10], '.3e') ) item = QStandardItem(cell1) model.setItem(xx, 10, item) cell1 = str(round(data1[11], 2)) item = QStandardItem(cell1) model.setItem(xx, 11, item) cell1 = str(round(data1[12], 2)) item = QStandardItem(cell1) model.setItem(xx, 12, item) cell1 = str(round(data1[13], 2)) item = QStandardItem(cell1) model.setItem(xx, 13, item) xx = xx + 1 return model,nlist