
import re #调用re
import openpyxl #调用 openpyxl
# ── 读取原始工作簿(保留格式) ──
wb = openpyxl.load_workbook('D:/素材/提取数字/项目明细.xlsx')
ws = wb.active
2、使用正则表达式提取需要的信息
首先看下正则表达式样的规则:
如果要提取文本后面的数字+“\”符号,可以这样写表达式:\d+(?:/\d+
而用Python处理文本,需要用到re库,所以找到4个项目对应的文本加提取指定的数字和字符可以按如下的方式写:

openpyxl库写入数据的方式有点像VBA,指定开始写入的行数和列数,开始循环写入数据:
# ── 遍历数据行(跳过表头第1行),提取并写入 G~K 列 ──
# G=7, H=8, I=9, J=10, K=11
col_map = {7: 'G', 8: 'H', 9: 'I', 10: 'J', 11: 'K'}
extracted_count = 0
for row in range(2, ws.max_row + 1): # 从第2行开始(第1行是表头)
cell_a = ws.cell(row=row, column=1) # A列 = 项目特征描述
text = cell_a.value
....
整体的代码如下:

看下整体的处理效果:
所需的文本被完整的提取出来,本篇核心:正则表达式的提取方式,有了这个思路,无论是公式、VBA还是Python都可以把需要的文本快速提取出来。