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

如何从重复的参考文本列中提取日期与金额

Extracting date From Reference

需要从包含重复参考文本的列中,提取Date、Due Date和Amt到单独列,单条参考文本格式为:

SIInv:HI-24-SIN-SOH-00948 Date: 12 Mar 2024 Due Date: 04 Jul 2024 Amt: 50.00

解决方法

方法一:Excel函数实现

如果用Excel处理,可通过TEXTBEFORE+TEXTAFTER组合提取字段,适配单条或多条重复条目场景:

提取单个条目字段

假设参考文本在A1单元格:

  • 提取Date:
    =TRIM(TEXTAFTER(TEXTBEFORE(A1," Due Date"),"Date: "))
    
  • 提取Due Date:
    =TRIM(TEXTAFTER(TEXTBEFORE(A1," Amt"),"Due Date: "))
    
  • 提取金额(Amt):
    =TRIM(TEXTAFTER(A1,"Amt: "))
    

处理同一行的多个重复条目

若同一行包含多个参考文本,先拆分条目再批量提取:

  1. 拆分所有独立参考段:
    =TEXTSPLIT(A1, "SIInv:", , TRUE)
    
    拆分后会自动过滤空值,得到每个单独的参考文本片段
  2. 对每个拆分后的单元格,套用上面的单个字段提取公式即可。

方法二:Python(Pandas)批量处理

针对大数据量场景,用Pandas结合正则表达式可高效批量提取:

import pandas as pd
import re

# 示例数据,替换为你的实际数据
df = pd.DataFrame({
    'Reference': [
        'SIInv:HI-24-SIN-SOH-00948 Date: 12 Mar 2024 Due Date: 04 Jul 2024 Amt: 50.00',
        'SIInv:AB-24-XYZ-00123 Date: 05 Apr 2024 Due Date: 05 Aug 2024 Amt: 120.50 SIInv:CD-24-DEF-00456 Date: 10 May 2024 Due Date: 10 Sep 2024 Amt: 75.00'
    ]
})

# 正则规则,精准捕获日期和金额格式
match_pattern = r'Date: (\d{2} \w{3} \d{4}) Due Date: (\d{2} \w{3} \d{4}) Amt: (\d+\.\d{2})'

# 提取所有匹配条目,自动拆分重复内容
extracted_data = df['Reference'].str.extractall(match_pattern)
# 给列命名
extracted_data.columns = ['日期(Date)', '到期日(Due Date)', '金额(Amt)']

# 重置索引并合并原数据(可选,保留原始参考列)
final_result = extracted_data.reset_index(level=1, drop=True).join(df)
print(final_result)

这段代码会自动识别同一行中的所有参考条目,将每个条目的日期和金额拆分为独立行,便于后续分析或导出。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:35:04