def delete_all(): # 删除所有的td信息 # 1.返回所有的td类 # 2.根据td类的id 删除td类(id是不重复的) tds = Td.all() rs = [] for t in tds: d = Td.delete(t.id) rs.append(d) log("删除了({})个td, 所有的td= ({})".format(len(tds), rs)) return "删除了({})个td, 所有的td= ({})".format(len(tds), rs) pass
def load_all_lines(): # 读取txt # 返回所有曲线的数据 # 数据类型为np.array类型 all_tds = Td.all() lines = [] for i in range(len(all_tds)): line = [] arr_rd = [] arr_td = [] td = all_tds[i] td = td.json() title = td.get('td', '') list_rD = td.get('list_rD', '') list_TD = td.get('list_TD', '') arr_rd = str_to_float_arr(list_rD) arr_td = str_to_float_arr(list_TD) # return arr_rd, arr_td # 将曲线数据转化为np.array类型 arr_rd = np.array(arr_rd) arr_td = np.array(arr_td) # 将曲线 td list_rD list_TD 数据放到line中 line.append(title) line.append(arr_rd) line.append(arr_td) lines.append(line) return lines
def load_xlsx(): # 接收一个.xlsx文件 # 以json格式存储在data/td.txt文件中 # 本文件可以以字典的形式存储 # td # list_rD=: # list_TD=: filename = '三条tD曲线数据.xlsx' workbook = openpyxl.load_workbook(filename) # 所有的工作表单名字 # log(workbook.sheetnames) # 拿到某个 工作表 内容的标准做法,我们这个 excel 文件只有一个三条曲线数据工作表 sheet = workbook['三条曲线数据'] # sheet['C1'].value # 返回 C 列第 1 行格子里的值 # sheet['1'] # 第一行的所有格子(返回一个 tuple) # sheet.max_column # 最大列数 # sheet.max_row # 最大行数 # 获取不同A 列 td的值 # 用 .value 获取格子里的值 # log('sheet A1 value', sheet['C1'].value) # log('max row', sheet.max_row) # 获取一行 # log('row', sheet['2']) # # 遍历第二行所有格子 # for c in sheet['2']: # log('格子({})'.format(c.value)) # # 遍历获取 A 列所有的值 # log('start time') le = len(sheet['A']) log("debug le ({})".format(le, sheet['A'])) i = 0 td_cell = [] for a in sheet['A']: # td_cell = [] v = a.value td_cell.append(v) i = i + 1 # log('a', a.value, 'i', i) # td_cell保存了xlsx文件所有信息 # log('end time cell ({})'.format(td_cell)) # 每隔六行 新建一个 td类 dis = 6 rs = [] for i in range(0, le, 6): cell = [] dic = {} title = td_cell[i].split('=')[1] dic['td'] = title dic['list_rD'] = td_cell[i + 2] dic['list_TD'] = td_cell[i + 4] # log('dic', dic, i) t = Td.new(dic) log('dic', dic, i, t)
def write_xlsx(): # 1. 加载json文件 # 2. 将json文件写入到.xlsx中 # 创建一个新的工作表簿 all_tds = Td.all() # log('all_td ({})'.format(all_tds)) workbook = openpyxl.Workbook() # 获取表格的默认工作表 sheet = workbook.active # 设置工作表的凑题 sheet.title = '三条tD曲线数据' # 写入表头与内容 column = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' j = 0 for i in range(len(all_tds)): arr_rd = [] arr_td = [] td = all_tds[i] td = td.json() tp = column[j] + str(1) rdp = column[j] + str(2) tdp = column[j + 1] + str(2) title = td.get('td', '') title = 'td =' + title list_rD = td.get('list_rD', '') list_TD = td.get('list_TD', '') arr_rd = str_to_float_arr(list_rD) arr_td = str_to_float_arr(list_TD) # 将数据写入sheet write_one_td(wb=sheet, rd=arr_rd, td=arr_td, col=j + 1, titl=title) j += 2 # log('arr_rd({}) arr_td({})'.format(arr_rd, arr_td), i) # 保存到 .xlsx 文件中 workbook.save('({})条曲线数据 .xlsx'.format(len(all_tds)))