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