
前言
作为新能源整车/三电测试工程师,日常工作离不开:海量路谱数据处理、CAN日志解析、测试数据统计、自动化报告输出、重复性脚本运维。
如果还在靠Excel手动处理、手动扒CAN信号、手动写测试报告,效率极低且容易出错。
本文专为汽车研发测试人员定制,无花哨语法、全是工业实测可用脚本,包含:
- 车载测试通用基础脚本
- CAN日志信号解析全套代码
- 自动生成Word/PDF测试报告模板
- 测试工程师专属pip环境指令大全
所有代码Python3.14可直接运行,适配台架测试、实车路试、试验数据复盘场景。

一、测试工程师必备Python环境(保姆级)
1.1 专属PIP常用指令(收藏常备)
1、基础运维指令
pip list # 查看已安装所有库
pip list --outdated # 查看可升级库
pip install 包名==版本号 # 安装指定版本库
pip upgrade 包名 # 升级指定库
pip uninstall 包名 # 卸载库
pip cache purge # 清理缓存、解决报错、释放C盘
2、环境备份&迁移(换电脑必备)
导出当前测试环境
pip freeze > requirements.txt
#新环境一键安装所有依赖
pip install -r requirements.txt
3、汽车测试专用依赖一键安装
数据分析、绘图、办公报表、CAN通讯、串口测试
pip install numpy pandas matplotlib python-can pyserial openpyxl python-docx fpdf requests -i https://pypi.tuna.tsinghua.edu.cn/simple

二、车载测试通用基础工具脚本(日常高频)
2.1 测试时间戳标准化转换
适用场景:路谱数据、设备日志、试验时序对齐
import time
from datetime import datetimedef ts_to_time(timestamp): """时间戳转为标准测试时间格式""" return datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S.%f")# 获取当前测试时间if name == "main": now_ts = time.time() now_time = ts_to_time(now_ts) print(f"当前测试时间:{now_time}") print(f"原始时间戳:{now_ts}")
2.2 测试数据极值/均值统计(电压/转速/扭矩)
适用场景:三电高压测试、动力性能测试、温变测试数据统计
import numpy as np
def get_test_stat(data_list):
"""测试数据批量统计"""
max_val = np.max(data_list)
min_val = np.min(data_list)
avg_val = np.mean(data_list)
return max_val, min_val, avg_val
if name == "main ":
替换为你的实测数据:电压、转速、温度、扭矩
test_data = 230.5, 232.1, 228.9, 235.3, 231.7
max_v, min_v, avg_v = get_test_stat(test_data)
print(f"最大值:{max_v}")
print(f"最小值:{min_v}")
print(f"平均值:{avg_v:.2f}")
2.3 批量遍历读取本地测试日志文件
适用场景:批量复盘多路谱、多批次试验日志
import os
def get_all_log_file(log_folder): """批量读取日志文件""" file_list = \[\] for file in os.listdir(log_folder): if file.endswith(".log") or file.endswith(".asc"): full_path = os.path.join(log_folder, file) file_list.append(full_path) print(f"发现测试日志:{full_path}") return file_listif name == "main": path = r"D:\Vehicle_Test_Log" log_files = get_all_log_file(path)
三、CAN日志解析全套脚本(汽车测试核心)
3.1 解析CANoe ASC日志,提取报文数据
适用场景:实车路试CAN日志解析、故障报文抓取、信号复盘
import can
import pandas as pddef parse_can_asc(asc_path, save_excel=True): """解析ASC格式CAN日志,输出结构化数据""" bus = can.LogReader(asc_path) can_res = \[\] for msg in bus: temp = { "timestamp": msg.timestamp, "can_id": msg.arbitration_id, "dlc": msg.dlc, "data": list(msg.data), "is_extended": msg.is_extended_id } can_res.append(temp) df = pd.DataFrame(can_res) # 可选:保存为Excel便于复盘 if save_excel: df.to_excel("CAN_Log_Parse_Result.xlsx", index=False) print("CAN日志解析完成,已导出Excel!") return dfif name == "main": file_path = r"D:\CAN_Log\road_test.asc" df_can = parse_can_asc(file_path) print(df_can.head())
3.2 筛选指定CAN ID信号(故障帧/报文监控)
def filter_can_id(df, target_id):
"""筛选指定CAN ID报文""" res_df = dfdf\["can_id" == target_id] return res_df# 用法# fault_data = filter_can_id(df_can, 0x180)# print(f"目标报文数量:{len(fault_data)}")
四、测试报告自动生成脚本(Word+PDF)
4.1 自动生成标准化Word测试报告
from docx import Document
from docx.shared import Pt
def create_test_report():
新建文档
doc = Document()
标题
title = doc.add_heading("整车/三电自动化测试报告", 0)
# 基础信息
doc.add_paragraph("一、测试基本信息").runs[0].font.size = Pt(12)
doc.add_paragraph("测试项目:新能源整车性能测试")
doc.add_paragraph("测试时间:自动获取")
doc.add_paragraph("测试人员:自动化脚本生成")
doc.add_paragraph("测试环境:台架/实车路试")
# 测试结果统计
doc.add_paragraph("二、测试数据统计结果")
doc.add_paragraph("1. 电压、转速、温度数据已完成批量统计")
doc.add_paragraph("2. CAN总线报文无异常报错")
doc.add_paragraph("3. 试验数据完整有效,满足试验规范要求")
# 保存文件
doc.save("自动化测试报告.docx")
print("Word测试报告生成成功!")
if name == "main ":
create_test_report()
4.2 FPDF快速生成极简PDF测试报告
from fpdf import FPDF
def create_pdf_report(): pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=12) pdf.cell(200, 10, txt="汽车自动化测试报告", ln=True, align='C') pdf.cell(200, 10, txt="测试状态:PASS", ln=True) pdf.cell(200, 10, txt="数据解析:正常", ln=True) pdf.cell(200, 10, txt="总线监控:无故障帧", ln=True) pdf.output("测试报告.pdf") print("PDF报告生成完成!")if name == "main": create_pdf_report()
五、汽车测试工程师落地使用场景汇总
- 路谱数据自动化清洗、极值筛选、异常点抓取
- CANoe离线日志批量解析、故障报文筛选复盘
- 三电VCU/BMS/电机测试数据批量统计
- 每日试验报告自动生成,告别手动码字
- 测试脚本环境一键备份迁移,换电脑不重配
六、总结
以上所有脚本,均适配新能源商用车/乘用车研发测试全场景,摒弃无用语法,全部为工位实战高频代码。
熟练使用这套脚本,可实现:
- 测试数据处理效率提升80%
- 日志解析、报告输出全自动
- 减少人工计算、人工统计失误
- 快速搭建个人自动化测试工具链
后续更新:后续会更新【VCU路谱滤波脚本、高压穿越HVRT自动测试脚本、DMD路谱文件批量解析工具】,需要的可以关注收藏!