python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python与正则表达式提取Excel票号

如何使用Python与正则表达式高效提取Excel中的票号数据

作者:IT小本本

在文本处理和数据分析中,经常需要从结构化文本中提取特定标记之间的内容,python正则表达式提供了强大的工具来实现,这一需求这篇文章主要介绍了如何使用Python与正则表达式高效提取Excel中票号数据的相关资料,需要的朋友可以参考下

一、需求

本文将介绍如何利用Python的Pandas库和正则表达式,快速实现票号这一数据清洗任务,并将结果整理为规范的表格结构。

在数据处理场景中,从非结构化文本里提取特定格式的信息是常见需求。例如在物流工单、票务系统的Excel记录中,我们经常需要从冗长的摘要文本里提取出票号(如快递单号、订单号等)。

二、核心代码解析

我们通过一段实际代码来演示整个处理流程,代码逻辑分为数据读取正则匹配结果整理三个核心步骤。

1. 导入依赖库

import pandas as pd
import re

2. 读取原始数据

df = pd.read_excel('报销.xlsx')

3. 预编译正则表达式

ticket_pattern = re.compile(r'\b\d{8,30}\b')

4. 遍历文本并提取票号

result_data = []
for text in df.iloc[:, 0].astype(str):
    tickets = ticket_pattern.findall(text)
    if tickets:
        # 处理第一条记录(包含摘要和首个票号)
        result_data.append({'摘要': text, '票号': tickets[0]})
        # 处理剩余票号(摘要留空)
        result_data.extend({'摘要': '', '票号': ticket} for ticket in tickets[1:])
    else:
        # 无票号时保留摘要
        result_data.append({'摘要': text, '票号': ''})

5. 保存结果到Excel

pd.DataFrame(result_data).to_excel('output4.xlsx', index=False)

三、技术关键点

1. 正则表达式优化技巧

2. Pandas数据处理技巧

3. 多票号处理逻辑

总结

到此这篇关于如何使用Python与正则表达式高效提取Excel中票号数据的文章就介绍到这了,更多相关Python与正则表达式提取Excel票号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文