From 365491c1fcf523994035e4bd28d8b5872dd6ec98 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 31 七月 2025 14:47:48 +0800 Subject: [PATCH] 除权采用掘金更新K线 --- log_module/log_analyse.py | 63 +++++++++++++++++-------------- 1 files changed, 35 insertions(+), 28 deletions(-) diff --git a/log_module/log_analyse.py b/log_module/log_analyse.py index 41ce05a..379012b 100644 --- a/log_module/log_analyse.py +++ b/log_module/log_analyse.py @@ -62,38 +62,45 @@ # 鍒嗘瀽L2鏁版嵁浼犺緭鏃堕棿 def analyze_l2_data_transformation(path_): - with open(path_, 'r') as f: - while True: - line = f.readline() + with open(path_, 'r', encoding="utf-8") as f: + lines = f.readlines() + for line in lines: if not line: break - datas = line.split("|") - create_time = datas[0].strip() - data = datas[2].split("-")[1].strip() - code = data.split("#")[0] - l2_data = data.split("#")[1] - l2_data = eval(l2_data) - max_time_data = None - min_time_data = None - for d in l2_data: - if len(d) > 10: - if max_time_data is None: - max_time_data = d - if min_time_data is None: - min_time_data = d - if d[10] > max_time_data[10]: - max_time_data = d - if d[10] < min_time_data[10]: - min_time_data = d - if max_time_data and min_time_data: - dt = datetime.datetime.strptime(create_time.split(".")[0], "%Y-%m-%d %H:%M:%S") - create_timestamp = int(dt.timestamp() * 1000) + int(create_time.split(".")[1]) - if create_timestamp - min_time_data[10] > 20: - print(create_time, f"鏁伴噺:{len(l2_data)}", code, create_timestamp - min_time_data[10], - create_timestamp - max_time_data[10]) + try: + datas = line.split("|") + create_time = datas[0].strip() + data = datas[2].split(" - ")[1].strip() + contents = data.split("#") + code = contents[0] + use_time = int(contents[1].strip().split("锛�")[1].split("-")[-2]) + l2_data = contents[2] + l2_data = eval(l2_data) + max_time_data = None + min_time_data = None + for d in l2_data: + if len(d) > 10: + if max_time_data is None: + max_time_data = d + if min_time_data is None: + min_time_data = d + if d[10] > max_time_data[10]: + max_time_data = d + if d[10] < min_time_data[10]: + min_time_data = d + if max_time_data and min_time_data: + dt = datetime.datetime.strptime(create_time.split(".")[0], "%Y-%m-%d %H:%M:%S") + create_timestamp = int(dt.timestamp() * 1000) + int(create_time.split(".")[1]) + if use_time > 100: + print(create_time, f"鏁伴噺:{len(l2_data)}", f"鑰楁椂锛歿use_time}", code, + create_timestamp - min_time_data[10], + create_timestamp - max_time_data[10]) + except: + print(line) + pass pass if __name__ == "__main__": - analyze_l2_data_transformation("D:\\logs\\huaxin_l2\\orderdetail.2023-08-23.log") + analyze_l2_data_transformation("D:\\logs\\huaxin_l2\\orderdetail.2023-08-29.log") -- Gitblit v1.8.0