# test-data-report **Repository Path**: xmc_whxx/test-data-report ## Basic Information - **Project Name**: test-data-report - **Description**: Test data pipeline: extract, chart, report - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-04 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Test Data Pipeline 测试数据提取、图表生成、报告输出的全流程工具。 #### 版本历史 | 版本 | 日期 | 说明 | |------|------|------| | v0.1 | 2026-05-25 | 初版 | | v0.2 | 2026-06-29 | 预处理:自动查找含"预处理"的sheet;输出文件加`_预处理`后缀;先替换后插行修复行号偏移 | | v0.3 | 2026-06-30 | 预处理:仅处理有匹配替换规则的文件,对齐不单独写出 | | v0.4 | 2026-07-01 | 数据提取:新增 LOOP 分组模式说明;repeat 计算规则;字段匹配支持 PowerOnAll:Key 后缀匹配 | #### 运行 #### GUI 方式(推荐) 双击 `xds_gui.exe` 打开图形界面: 1. 点击 **选择文件** 选取配置文件(.xlsx) 2. 勾选要执行的步骤(默认全选) 3. 点击 **运行** 4. 查看运行日志 #### CLI 方式 ```bash xds_pipe.exe -f 配置文件.xlsx ``` #### 参数说明 | 参数 | 说明 | 必填 | |------|------|------| | `-f` / `--config_file` | Excel 配置文件路径 | 是 | | `-s` / `--steps` | 执行步骤(多选,默认全部) | 否 | 可选步骤:`extract`(提取)、`chart`(图表)、`report`(报告) #### 使用示例 ```bash ### 全流程:提取 → 图表 → 报告 xds_pipe.exe -f 项目配置.xlsx ### 仅数据提取 xds_pipe.exe -f 项目配置.xlsx -s extract ### 仅生成图表 xds_pipe.exe -f 项目配置.xlsx -s chart ### 仅重新生成报告(图片已存在时) xds_pipe.exe -f 项目配置.xlsx -s report ### 提取 + 图表 xds_pipe.exe -f 项目配置.xlsx -s extract chart ``` #### 配置文件 配置文件名可任意指定,但 sheet 名固定。单个 `.xlsx` 包含以下 sheet: ### 预处理(Sheet: 预处理) | 配置项 | 说明 | |--------|------| | 预处理前原始数据路径 | 输入 CSV 目录 | | 预处理后输出路径 | 输出 CSV 目录 | | 温度预处理行标识 | 用于温度行检测的列名(默认 Test Suite) | | 温度预处理标识 | 温度行匹配模式(默认 ChamberControl\*) | 替换规则表(表头"文件名"): | 列 | 说明 | |----|------| | A | 文件匹配(空=继承上一行) | | B | 目标字段 | | C | 行号范围(如 `3~4`、`5`、`-`=全部) | | D | 替换前值(\*=全部) | | E | 替换后值 | ### 数据提取(Sheet: 数据提取) 配置字段映射、公式和温度参数。 | 列 | 说明 | |----|------| | A | 配置项名称(原始数据路径、提取后数据路径、温度设置等) | | B | 配置值 | | 表头"原始数据名"下方 | 字段映射表:原始列名 → 提取后列名,可配公式 | #### LOOP 分组与 repeat 计算 数据提取支持三种分组模式,由配置项控制: **模式一:按 Test Number 分组(输出循环需求=Test Number)** 配置了 `输出循环需求`(不为 `--`)时启用。按 `Test Number` 列的值变化切分,**无论增大还是减小**都会切分新的组。 同一组内所有行合并为一条输出,输出列的 `repeat` 表示该条件出现的序号。 `repeat` 计算规则:检查相邻组的 `input_data`(Test Text 中的键值对部分,不含 `:` 的 list 部分)是否相同。相同则 repeat 递增,不同则重置为 1。 ``` 原始行序列: TN=0 (conds: VDD12=1.2) → 输出组1, repeat=1 TN=1 (conds: VDD12=1.2) → 输出组2, repeat=2 ← 同条件,递增 TN=2 (conds: VDD12=1.2) → 输出组3, repeat=3 ... TN=0 (conds: VDD12=1.08) → 输出组N, repeat=1 ← 条件变了,重置 ``` **模式二:经典 LOOP 模式(仅设重复性测试需求LOOP)** 通过 `重复性测试需求LOOP` 配置(如 `7`)启用。流程: 1. 按 Test Text 内容识别 loop 行(Test Text 中包含 `loop` 关键字的行) 2. loop 行之间按相同的 `input_data`(Test Text 的键值对部分)分组 3. 每组按 LOOP 值(如 7)切块,每块合并为一条输出 4. 每块的 `repeat` = 该组内的块序号(1、2、3...) 5. 非 loop 行各自独立成组,repeat=1 ``` 例:LOOP=7,同一条件 21 行 → 3 块,每块 7 行 块1 (行1~7): repeat=1 块2 (行8~14): repeat=2 块3 (行15~21): repeat=3 ``` **模式三:自动合并(默认,不设 LOOP 也不设输出循环需求)** 所有行按相同的 `input_data` 连续分组,每组直接合并为一条输出,repeat=1。 **repeat 列输出说明** 无论哪种模式,输出 CSV 的 `repeat` 列写入的是上述计算值,表示"同一测试条件内的测量序号"。 ### 数据分析(Sheet: 数据分析) 配置图表分组、筛选条件和输出格式。 | 列 | 字段 | 说明 | |----|------|------| | A | 文件匹配模式 | 如 `*.csv`,决定哪些文件进入该图表 | | B | 筛选条件 | 如 `Test Suite=func_freq、Temp.=[1-5]` | | C | 测试条件 | 如 `测试项=IDD` | | D | 文件名标识 | 用于文件内部分组 | | E | 表 X 字段 | 表头 X 轴列名 | | F | 表 Y 字段 | 表头 Y 轴列名 | | G | 表名称 | Sheet 名 | | H-K | 图配置 | 图 X/Y、数据系列 | | L | 图名称 | | | M | 图标题 | | | N | 图表类型 | 柱状图 / 散点图 / 折线图 / **威布尔概率图** / **累积概率图** | | O | 结论类型 | | | **P** | **Y 范围** | 威布尔/累积概率图专用。`49-58` 或 `0`(自动),支持 `~` | | **Q** | **X 范围** | 同上。`1000-100000` 或 `0`(自动) | | **R** | **选项** | 空格分隔:`sci`(科学计数法) `upper_left`(图例位置) `outside_upper_left`(图例放轴外) | ## 独立威布尔/累积概率图工具 详见 `weibull/weibull.md`。 ### 报告生成(Sheet: 报告生成) 配置 Word 模板路径、章节映射。 | 列 | 说明 | |----|------| | A | 图表名称 | | B | 制表(表图片插入章节标题) | | C | 绘图(图图片插入章节标题) | | D | 模板标题 | | E | 替换标题(可选) |