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

如何一次性批量替换多列(含Sname系列)中的相似字符值?

批量替换含指定关键词列中的相似拼写值

核心思路

不用循环,直接通过列名筛选定位目标列,再用正则表达式批量替换所有相似拼写错误。

具体实现(以Python Pandas为例)

  1. 筛选所有包含"Sname"的列:用filter(like='Sname')直接提取目标列,无需手动列枚举或循环。
  2. 正则匹配相似拼写:针对ORANGE、Orangee、ornage这类大小写/拼写变体,用不区分大小写的正则规则匹配,统一替换为正确值。
import pandas as pd

# 加载数据(替换成你的数据读取方式)
df = pd.read_csv('your_data_source.csv')

# 一步定位所有含"Sname"的列
target_columns = df.filter(like='Sname').columns

# 批量替换所有相似拼写错误,替换值可按需修改
df[target_columns] = df[target_columns].replace(
    r'(?i)or[a-z]*ge',  # 匹配不区分大小写、or开头ge结尾的所有变体
    'Orange',  # 替换为正确的拼写
    regex=True
)

# 如果只想替换指定的错误拼写(更精准),可以把正则改成:
# r'(?i)(ORANGE|Orangee|ornage)'

# 保存修改后的数据
df.to_csv('processed_data.csv', index=False)

说明

  • filter(like='Sname')会自动匹配所有列名中包含"Sname"的列,不管前缀是数字还是空,完美覆盖你提到的"Sname1"-"Sname5"和"3Sname1"-"24Sname5"。
  • 正则中的(?i)表示不区分大小写,or[a-z]*ge匹配任何以or开头、ge结尾的字母组合,能覆盖大部分拼写变体;如果需要更严格的匹配,直接列出所有错误拼写即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:15:36