You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于RETURN后的数字自动填充Excel按键日志的Trial列?

用Python自动填充Excel按键日志的Trial列

核心思路

遍历Input列,当遇到RETURN记录时,提取下一行内容开头的数字作为当前Trial值,后续所有行直到下一个RETURN出现前,都使用这个Trial值填充。

所需工具

使用pandas处理表格数据,openpyxl读取/写入xlsx格式文件,先安装依赖:

pip install pandas openpyxl

实现代码

import pandas as pd
import re

# 读取Excel文件,替换成你的文件路径
df = pd.read_excel("按键日志.xlsx", engine="openpyxl")

# 初始化Trial列,默认设为NaN
df["Trial"] = pd.NA

current_trial = None
# 遍历每一行索引
for idx in df.index:
    # 检查当前行是否是RETURN
    if df.loc[idx, "Input"] == "RETURN":
        # 确保下一行存在
        if idx + 1 < len(df):
            next_row_content = str(df.loc[idx + 1, "Input"])
            # 匹配行首的数字(支持整数,比如10、20这类)
            match = re.match(r"^(\d+)\.", next_row_content)
            if match:
                current_trial = int(match.group(1))
    # 如果当前有有效Trial值,填充到当前行
    if current_trial is not None:
        df.loc[idx, "Trial"] = current_trial

# 将结果保存到新文件,避免覆盖原数据
df.to_excel("带Trial标注的按键日志.xlsx", index=False, engine="openpyxl")

注意事项

  • 正则表达式^(\d+)\.匹配的是行首数字加英文句号的格式(比如10. red),如果你的行首格式不同(比如10 red),可以把正则改成^(\d+)
  • 如果RETURN之后的行没有符合格式的数字,这段代码会保持之前的Trial值,你可以根据需要加判断重置为NA
  • 准确率取决于日志格式的一致性,格式越规整,结果越准确

内容的提问来源于stack exchange,提问作者Hui.S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 19:47:07