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

从字符串提取日期文本:多段发票文本的日期提取需求

没问题,我来帮你搞定从这些发票文本里提取日期的需求!

先把你的输入文本列出来:

"TAX INVOICE 28 Dec 2018 PO2222"
"TAX INVOICE 20 Nov 2018 PO11111"

接下来我用Python给出两种实现方式,分别输出成你要的列表和DataFrame格式:

1. 提取为指定格式的列表

我们可以用正则表达式精准匹配日期模式,再调整格式:

import re

# 输入的发票文本列表
invoice_texts = [
    "TAX INVOICE 28 Dec 2018 PO2222",
    "TAX INVOICE 20 Nov 2018 PO11111"
]

# 匹配「数字+空格+3字母月份+空格+4位年份」的正则
date_pattern = re.compile(r'\d{1,2} [A-Za-z]{3} \d{4}')

# 提取并格式化日期
formatted_dates = []
for text in invoice_texts:
    # 找到文本里的日期字符串
    matched_date = date_pattern.search(text).group()
    # 把空格替换成横杠,得到你要的格式
    formatted_date = matched_date.replace(' ', '-')
    formatted_dates.append(formatted_date)

print(formatted_dates)
# 输出结果:['28-Dec-2018', '20-Nov-2018']

2. 输出为DataFrame格式

如果需要用pandas的DataFrame展示,只需要把上面的列表转成DataFrame即可:

import pandas as pd

# 将格式化后的日期列表转为DataFrame
date_df = pd.DataFrame(formatted_dates, columns=['Invoice Date'])
print(date_df)
# 输出结果:
#   Invoice Date
# 0  28-Dec-2018
# 1  20-Nov-2018

这个方案适配你给出的文本格式,如果后续有更多不同格式的发票文本,我们可以再调整正则表达式来匹配~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:50:22