""" 数据导出工具 """ import os import time import xlwt def export_l2_data(code, datas, dest_dir="D:/export/l2"): local_time = time.strftime("%Y%m%dT%H%M%S", time.localtime(time.time())) file_name = "{}/{}_{}.xls".format(dest_dir, code, local_time) wb = xlwt.Workbook() ws = wb.add_sheet('sheet1') ws.write(0, 0, '序号') ws.write(0, 1, '时间') ws.write(0, 2, '买撤间隔') ws.write(0, 3, '价格') ws.write(0, 4, '手数') ws.write(0, 5, '类型') ws.write(0, 6, '重复数量') index = 0 for data in datas: index += 1 ws.write(index, 0, data["index"]) ws.write(index, 1, data["val"]["time"]) cancel_time = data["val"]["cancelTime"] if cancel_time == '0': cancel_time = '' if len(cancel_time) > 0: if int(data["val"]["cancelTimeUnit"]) == 0: cancel_time += "s"; elif int(data["val"]["cancelTimeUnit"]) == 1: cancel_time += "m"; elif int(data["val"]["cancelTimeUnit"]) == 2: cancel_time += "h"; ws.write(index, 2, cancel_time) ws.write(index, 3, data["val"]["price"]) ws.write(index, 4, data["val"]["num"]) limit_price="" if int(data["val"]["limitPrice"]) == 1: limit_price="涨停" elif int(data["val"]["limitPrice"]) == 2: limit_price="跌停" if int(data["val"]["operateType"]) == 0: if len(limit_price)>0: ws.write(index, 5, '买 ({})'.format(limit_price)) else: ws.write(index, 5, '买') elif int(data["val"]["operateType"]) == 1: if len(limit_price) > 0: ws.write(index, 5, '买撤 ({})'.format(limit_price)) else: ws.write(index, 5, '买撤') ws.write(index, 6, data["re"]) wb.save(file_name) return file_name def export_l2_data_origin(code, datas, key, dest_dir="D:/export/l2_origin"): file_dir = "{}/{}".format(dest_dir, code) if not os.path.exists(file_dir): os.makedirs(file_dir) file_name = "{}/{}/{}.xls".format(dest_dir, code, key) wb = xlwt.Workbook() ws = wb.add_sheet('sheet1') ws.write(0, 0, '序号') ws.write(0, 1, '时间') ws.write(0, 2, '买撤间隔') ws.write(0, 3, '价格') ws.write(0, 4, '手数') ws.write(0, 5, '类型') index = 0 for data in datas: index += 1 ws.write(index, 0, index) ws.write(index, 1, data["time"]) cancel_time = data["cancelTime"] if cancel_time > 0: cancel_time = "{}".format(cancel_time) if data["cancelTimeUnit"] == 0: cancel_time += "s"; elif data["cancelTimeUnit"] == 1: cancel_time += "m"; elif data["cancelTimeUnit"] == 2: cancel_time += "h"; ws.write(index, 2, cancel_time) ws.write(index, 3, data["price"]) ws.write(index, 4, data["num"]) if data["operateType"] == 0: ws.write(index, 5, '买') elif data["operateType"] == 1: ws.write(index, 5, '买撤') wb.save(file_name) return file_name if __name__ == "__main__": _t = "1661391666562" print(_t[-3:])