Python Pandas替换CSV指定列括号横杠特殊字符不生效问题求助
问题原因
pandas.Series.str.replace() 方法不支持直接传入列表作为匹配模式,要同时匹配(、)、-三个字符,需使用正则表达式的字符组语法实现批量匹配。
正确可运行代码
import pandas as pd df = pd.read_csv('file.csv', header=0) # 正则匹配所有(、)、-字符,替换为空格,regex=True显式声明使用正则模式 df['Phone'] = df['Phone'].str.replace(r'[()-]', ' ', regex=True) # 导出时添加index=False参数,避免生成多余的索引列 df.to_csv('file.csv', index=False)
补充说明
如果Phone列存在空值,上述代码运行时不会报错,空值会被默认保留;如果需要将空值同时替换为空字符串,可将替换行修改为:
df['Phone'] = df['Phone'].str.replace(r'[()-]', ' ', regex=True).fillna('')
内容的提问来源于stack exchange,提问作者FinestRyeBread
相关产品推荐
相关产品推荐

