简单介绍
这里举例替换特殊符号。有时在进行网页爬虫的时候会获取到一些含有特殊格式或符号的内容,但其中的符号像逗号、百分号这些并不是我们需要的,可以使用正则或是pandas将其替换掉。这个用例是使用正则的规则,通过pandas的apply函数应用规则并替换掉。
完整代码
import pandas as pd import redf = pd.read_excel(r'C:\Users\Desktop\sample.xlsx')#读取Excel#print(df)list1 = ['A','B','C','D']#将列名填入列表以作循环for i in list1:df[i] = df[i].astype(str) #转换数据类型def clear_characters(text):return re.sub('\["', "", text)#设置规则1,替换成空格def clear_characters1(text):return re.sub('\","', "", text)#设置规则2def clear_characters2(text):return re.sub('\":"', "", text)#设置规则3df[i] = df[i].apply(clear_characters) #循环列名替换特殊符号df[i] = df[i].apply(clear_characters1)df[i] = df[i].apply(clear_characters2)df.to_excel(r'C:\Users\Desktop\sample.xlsx',index=False)
替换前
替换后
代码解析
def clear_characters(text):return re.sub('\["', "", text)
re.sub(“原文件中要替换的内容”,“想要替换成”,替换的文本)
如例子中我想要替换的特殊符号是 [" 、“,” 和 “:” 三种,所以要设三种规则分别替换成空格。一些特殊符号需要使用斜杠 “” 进行转译,否则会报错。