You need to enable JavaScript to run this app. Python提取文本Layer耗时配对时如何关联C1/D1分组标识生成目标DataFrame
优惠活动
大模型
产品
解决方案
定价
更多

Python提取文本Layer耗时配对时如何关联C1/D1分组标识生成目标DataFrame

问题根源

现有代码直接对全文件内容做全局正则匹配,完全丢失了行级上下文的关联逻辑——每个Cx,Dx标签会管辖后续直到下一个标签出现前的所有Layer条目,全局抓取时没有跟踪这种管辖关系,自然无法给每个Layer条目绑定对应的分组信息。

可落地实现

调整解析逻辑为逐行扫描,持续跟踪当前生效的分组标签,在抓取每个Layer条目时同步绑定其所属分组,完整代码如下:

import re
import pandas as pd

# 存储结构化结果
all_entries = []
# 记录当前最新的有效分组标识
active_group = None

with open('text.txt', 'r', encoding='utf-8') as file:
    for raw_line in file:
        line = raw_line.strip()
        # 匹配行首的分组标签(如C1,D1)
        group_tag = re.match(r'^(C\d+,D\d+)', line)
        if group_tag:
            active_group = group_tag.group(1)
        # 抓取当前行内所有Layer与耗时的配对,兼容行内同时存在分组和Layer条目的场景
        matched_pairs = re.findall(r'(Layer_\d+)\s,\s(\d+\.\d+)ms', line)
        for layer_id, cost_value in matched_pairs:
            all_entries.append({
                'group_tag': active_group,
                'layer_name': layer_id,
                'cost_ms': float(cost_value)
            })

# 生成目标DataFrame
df = pd.DataFrame(all_entries)
输出效果

生成的DataFrame包含3列,完全匹配预期:

  • group_tag列:存储每个Layer对应的前置分组标识,自动完成跨2行的Layer条目分组关联(比如C1,D1下的Layer_00到Layer_09跨2行存储,会全部绑定C1,D1标识,遇到C2,D2后后续条目自动切换绑定关系)
  • layer_name列:存储Layer编号,和原代码抓取的内容完全一致
  • cost_ms列:存储转换为浮点数的Layer耗时数值

内容的提问来源于stack exchange,提问作者user15621727

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 07:15:06