汽车测试(雷达标定) :日志文件提取从标定开始到标定结束时间差

import re
import csv
from datetime import datetime

def main():
    # 获取用户输入的文件路径和输出路径
    log_file_path = input("请输入日志文件路径: ")
    output_file_path = input("请输入输出文件路径: ")

    # 读取日志文件
    with open(log_file_path, 'r') as file:
        log_content = file.readlines()

    # 定义正则表达式模式
    log_pattern_1 = re.compile(r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3})>>>>>> 售后标定开启成功!')
    log_pattern_2 = re.compile(
        r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3})>>>>>> 水平角度:([-+]?\d+\.\d+) 纵向角度:([-+]?\d+\.\d+)')

    # 初始化变量
    data = []
    start_time = None

    # 提取数据
    for line in log_content:
        match_1 = log_pattern_1.match(line)
        match_2 = log_pattern_2.match(line)

        if match_1:
            start_time = datetime.strptime(match_1.group(1), '%Y-%m-%d %H:%M:%S.%f')
            print(f"Timestamp: {start_time}, Message: 售后标定开启成功!")

        if match_2:
            timestamp, horizontal_angle, vertical_angle = match_2.groups()
            timestamp = datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S.%f')
            if start_time:
                time_diff = (timestamp - start_time).total_seconds() / 60
            else:
                time_diff = 0
            data.append((len(data) + 1, float(horizontal_angle), float(vertical_angle), round(time_diff, 2)))

    # 写入CSV文件
    with open(output_file_path, 'w', newline='', encoding='utf-8') as csvfile:
        csvwriter = csv.writer(csvfile)
        csvwriter.writerow(['number', 'Horizontal', 'longitudinal', 'time'])
        csvwriter.writerows(data)

    print(f"数据已成功写入 {output_file_path} 文件。")

if __name__ == "__main__":
    main()
```python

日志文件结构
2025-03-05 09:52:00.565>>>>>> 成功 =219

2025-03-05 09:52:04.603>>>>>> 售后标定开启成功!

2025-03-05 09:52:06.196>>>>>> ---------标定信息--------

2025-03-05 09:52:06.205>>>>>> 标定状态:例程已激活

2025-03-05 09:52:06.212>>>>>> 标定结果:未获得标定结果

2025-03-05 09:52:06.214>>>>>> 标定进度:0 %

2025-03-05 09:52:06.218>>>>>> 标定失败原因:无效结果

2025-03-05 09:52:06.223>>>>>> 水平角度:0 纵向角度:0




2025-03-05 09:53:25.763>>>>>> ---------标定信息--------

2025-03-05 09:53:25.767>>>>>> 标定状态:例程成功完成

2025-03-05 09:53:25.771>>>>>> 标定结果:标定结果正确

2025-03-05 09:53:25.778>>>>>> 标定进度:100 %

2025-03-05 09:53:25.781>>>>>> 水平角度:0.47 纵向角度:-0.41

从标定开始到标定成功为一个周期
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员 阿酷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值