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

如何为test.csv第二列的{string}_{i}模式编写通用正则并替换?

通用正则替换解决方案

核心正则表达式

用r'_(\d+)$'匹配所有以_数字结尾的字符串,替换为r'[\1]'即可实现通用处理,无需指定特定前缀。

正则说明

  • _(\d+)$:
    • _ 匹配下划线
    • (\d+) 捕获一个或多个数字(作为分组,后续可引用)
    • $ 确保匹配的是字符串末尾的模式,避免误替换中间的_数字片段

Pandas实现(适合大数据量CSV)

import pandas as pd

# 读取CSV
df = pd.read_csv('test.csv')
# 处理第二列(索引从0开始,所以用iloc[:,1])
df.iloc[:, 1] = df.iloc[:, 1].str.replace(r'_(\d+)$', r'[\1]', regex=True)
# 保存结果
df.to_csv('modified_test.csv', index=False)

原生CSV模块实现(轻量场景)

import csv
import re

# 预编译正则提升效率
pattern = re.compile(r'_(\d+)$')

with open('test.csv', 'r', newline='') as infile, open('modified_test.csv', 'w', newline='') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile)
    for row in reader:
        if len(row) >= 2:
            # 替换第二列内容
            row[1] = pattern.sub(r'[\1]', row[1])
        writer.writerow(row)

效果验证

  • 输入:CAP_4 → 输出:CAP[4]
  • 输入:COMP_NUM_123 → 输出:COMP_NUM[123]
  • 输入:FUNC_7 → 输出:FUNC[7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:47:02