如何从CSV表格字符串中批量提取符合#.#.#.C.#格式的增量数值
批量提取指定格式字段的两种可行方案
方案1:Excel/WPS表格公式(无代码,适合快速处理)
- 适用场景:仅单个CSV文件,不想写代码的场景
- 操作步骤:
- 用WPS或Excel 365/2021打开你的CSV文件
- 假设待处理字符串在A列,在空白列第一行输入公式:
=REGEXEXTRACT(A1, "\d+\.\d+\.\d+\.C\d+") - 下拉填充公式到所有行,即可自动批量提取所有符合格式的字段
- 说明:如果使用旧版Excel无REGEXEXTRACT函数,可按以下步骤自定义VBA函数:
- 按
Alt+F11打开VBA编辑器,插入模块 - 粘贴以下代码:
Function RegExtract(rng As Range, pat As String) As String Dim regEx As Object Set regEx = CreateObject("VBScript.RegExp") regEx.Pattern = pat regEx.Global = False If regEx.test(rng.Value) Then RegExtract = regEx.Execute(rng.Value)(0) Else RegExtract = "" End If End Function- 回到表格使用公式
=RegExtract(A1, "\d+\.\d+\.\d+\.C\d+")即可
- 按
方案2:Python脚本(适合批量处理,效率更高)
- 适用场景:文件数量多、数据量较大,需要自动化处理的场景
- 操作步骤:
- 先安装依赖库:
pip install pandas - 运行以下脚本:
import pandas as pd # 读取原始CSV文件,替换成你自己的文件路径 df = pd.read_csv("你的原始文件.csv") # 替换下方的"待处理列名"为你CSV里存对应字符串的列名 df["提取结果"] = df["待处理列名"].str.extract(r"(\d+\.\d+\.\d+\.C\d+)") # 结果保存为新的CSV文件 df.to_csv("提取完成的文件.csv", index=False, encoding="utf-8-sig") - 先安装依赖库:
- 说明:正则规则
\d+\.\d+\.\d+\.C\d+可适配所有符合你要求的格式,不管数字是1位还是多位(比如示例中的5.10.1.C3、6.13.1.C10都可以正常提取)
内容的提问来源于stack exchange,提问作者Patrick Coffey
相关产品推荐
相关产品推荐

