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

如何使用regex正则将合并的测量日期时间文本拆分为日期、时间列

测量数据日期时间正则分列实现方案

核心正则表达式

匹配单行有效测量记录的正则如下,开启多行匹配模式可批量处理全量数据:

^Measurement date: (\d{2}\.\d{2}\.\d{2}) (\d{2}:\d{2}:\d{2})$

正则分组说明:

  • 第一个捕获组(\d{2}\.\d{2}\.\d{2}):提取xx.xx.xx格式的日期值,对应输出的date列
  • 第二个捕获组(\d{2}:\d{2}:\d{2}):提取xx:xx:xx格式的时间值,对应输出的time列
  • 正则仅匹配格式完整的测量记录行,会自动跳过仅含.的省略占位行,不会产生误匹配
    使用时需开启正则的多行匹配模式(即m修饰符),确保^和$可以匹配每一行的首尾位置

不同场景落地方法

通用文本编辑器替换(VS Code/Notepad++/Sublime Text 均支持)

  • 打开查找替换面板,勾选「正则表达式」选项
  • 查找输入框填入上述正则表达式(如果编辑器默认不支持行首行尾锚定匹配,可去掉首尾的^和$)
  • 替换输入框填入$1 $2,中间空格数量可根据对齐需求调整,也可替换为制表符\t方便后续导入表格工具
  • 执行全部替换后,手动在内容最顶部添加表头date time,删除残留的.占位行即可得到目标格式

Python 批量处理多份测量文件

如果需要批量处理目录下的多份数据文件,可直接运行以下脚本:

import re
import os

# 预编译正则,开启多行匹配
match_pattern = re.compile(r'^Measurement date: (\d{2}\.\d{2}\.\d{2}) (\d{2}:\d{2}:\d{2})$', re.M)

# 遍历当前目录下的txt格式测量文件,可根据实际文件后缀修改
for file_name in os.listdir('./'):
    if not file_name.endswith('.txt'):
        continue
    # 读取原始文件内容
    with open(file_name, 'r', encoding='utf-8') as f:
        raw_content = f.read()
    # 提取所有有效日期时间对
    record_list = match_pattern.findall(raw_content)
    # 按目标格式拼接输出内容
    output_content = "date                              time\n"
    for date_val, time_val in record_list:
        output_content += f"{date_val:<34}{time_val}\n"
    # 写入处理后的新文件
    with open(f'formatted_{file_name}', 'w', encoding='utf-8') as f:
        f.write(output_content)

表格工具处理(Excel/WPS)

如果数据已经导入表格:

  1. 先用查找替换功能把所有行开头的Measurement date: 批量替换为空
  2. 选中数据列,使用「数据-分列」功能,选择「分隔符号-空格」作为分列依据,即可自动把日期和时间拆分为两列
  3. 给两列分别添加列名date和time,调整列宽对齐即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:48:19