From 2d44396f2c8b05cf0ac9487533817a29431360b2 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 24 一月 2025 14:55:02 +0800 Subject: [PATCH] L2历史数据解析 --- l2_data_parser.py | 37 ++++++++++++++++++++++++++----------- 1 files changed, 26 insertions(+), 11 deletions(-) diff --git a/l2_data_parser.py b/l2_data_parser.py index 0d0a4d9..0960ea9 100644 --- a/l2_data_parser.py +++ b/l2_data_parser.py @@ -2,28 +2,43 @@ L2鏁版嵁瑙f瀽鍣� """ import csv +import os import sys +from db import mysql_data_delegate as mysql_data -def parse_order_detail(): - with open('/home/userzjj/ftp/20250123/OrderDetail.csv', 'r', encoding='utf-8') as file: +def __get_target_codes(day): + results = mysql_data.Mysqldb().select_all(f"select _code from kpl_limit_up_record where _day='{day}'") + codes = set([x[0] for x in results]) + return codes + + +def parse_order_detail(day): + target_codes = __get_target_codes(day) + base_path = f"/home/userzjj/ftp/{day}" + with open(f"{base_path}/OrderDetail.csv", 'r', encoding='utf-8') as file: csv_reader = csv.reader(file) # 鑾峰彇琛ㄥご锛�: ['ExchangeID', 'SecurityID', 'OrderTime', 'Price', 'Volume', 'Side', 'OrderType', 'MainSeq', 'SubSeq', 'Info1', 'Info2', 'Info3', 'OrderNO', 'OrderStatus', 'BizIndex', 'LocalTimeStamp'] headers = next(csv_reader) print("琛ㄥご:", headers) # 閬嶅巻鏁版嵁琛� - max_count = 10 - count = 0 - for row in csv_reader: - print(row) - count += 1 - if count > max_count: - break + _path = f"{base_path}/OrderDetail_filter.csv" + with open(_path, 'w', newline='', encoding='utf-8') as csvfile: + # 鍒涘缓涓�涓� CSV 鍐欏叆鍣ㄥ璞� + writer = csv.writer(csvfile) + # 閫愯鍐欏叆鏁版嵁 + for row in csv_reader: + if row[1] not in target_codes: + continue + # 灏嗘枃浠跺啓鍏ュ埌鏂囨湰 + writer.writerow(row) if __name__ == '__main__': if len(sys.argv) > 1: params = sys.argv[1:] print("鎺ユ敹鐨勫弬鏁�", params) - - parse_order_detail() + _type = params[0].strip() + day = params[1].strip() + if _type == 'OrderDetail': + parse_order_detail(day) -- Gitblit v1.8.0