""" 数据导出工具 """ import json 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) file_name_txt = "{}/{}_{}.txt".format(dest_dir, code, local_time) openfile = open(file_name_txt,'w') try: for data in datas: openfile.write(json.dumps(data)+"\n") finally: openfile.close() 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"]) if int(data["val"]["operateType"]) == 1 or int(data["val"]["operateType"]) == 2: ws.write(index, 4, 0-int(data["val"]["num"])) else: ws.write(index, 4, int(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, '买撤') elif int(data["val"]["operateType"]) == 2: if len(limit_price) > 0: ws.write(index, 5, '卖 ({})'.format(limit_price)) else: ws.write(index, 5, '卖') elif int(data["val"]["operateType"]) == 3: 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:])