如果有一批关键词,此时想把其中的地域词提取出来,分为两类。一类是不包含地域词,一类是包含地域词。
如何批量把这批关键词内 包含的 地域删掉呢?我们可以用python这个工具实现。
#读取txt文件中想提取的地域词。(把自己想要提取的地域词,写在文档中)
import pandas as pd
df = pd.read_csv("data/area.txt", encoding= "gbk",header = None)
# encoding= "gbk"需要添加上,否则会报错。UnicodeDecodeError: 'utf-8'
#codec can't decode byte 0xcc in position 0: invalid continuation byte
#header=None,文档中都是地域词,没有关键字标题,所以此处设置为0.如果有则不用添加这一行
df
#我们这里显示310行,说明地域词本人选了310个,将要进行处理。
#关于地域词关键字可以去维基百科寻找,也可以去百度百科搜索,或者是自己想的。
0 | |
---|---|
0 | 天津 |
1 | 太原 |
2 | 沈阳 |
3 | 哈尔滨 |
4 | 南京 |
... | ... |
305 | 舟山 |
306 | 新乐 |
307 | 南平 |
308 | 临汾 |
309 | 周口 |
310 rows × 1 columns
#所有的词,其中某些行包含地域词。
#所有需要处理的词,.csv是保存在子目录data目录下的文件。
data = pd.read_csv("data/所有词.csv",encoding= "gbk")
#如果列出现Unnamed: 0,我们可以采用index_col=0,进行删除
data
#显示999行.说明我们需要处理的源文件有999行
所有需要处理的关键字 | |
---|---|
0 | 拖链系统专用电缆 |
1 | 拖链系统用电缆 |
2 | 优质拖链系统用电缆 |
3 | 易格斯拖链系统用电缆 |
4 | 拖链系统用电缆定制 |
... | ... |
994 | 上海馨源新材料拖链电缆采购 |
995 | 拖链电缆线采购 |
996 | 采购拖链电缆 |
997 | 采购 拖链电缆 |
998 | 电动葫芦拖链电缆采购 |
999 rows × 1 columns
#共有999个关键字 data["所有需要处理的关键字"]
#查看所有的关键字字符串是否包含天津 data["所有需要处理的关键字"].str.contains('天津')
#把包含天津的提取并列出,下面显示999行中有两个包含『天津』
data.loc[data["所有需要处理的关键字"].str.contains('天津')]
所有需要处理的关键字 | |
---|---|
117 | 天津线缆拖链安装 |
432 | 天津拖链专用柔性电缆 |
#遍历所有的地区词,并把包含地区词逐个提取出来,用append放在data_list中
data_list = []
#用word把310个地域词依次列出, res包含提取出来的所有word词
for word in df[0]:
res = data.loc[data["所有需要处理的关键字"].str.contains(word)]
data_list.append(res)
len(data_list)
#依次提取,核对310个词个数无误。都已经赋值给data_list
#310
#所有的包含地域词的词语已经被提取出来了,有151个
res_data = pd.concat(data_list) #concat聚合函数
res_data
所有需要处理的关键字 | |
---|---|
117 | 天津线缆拖链安装 |
432 | 天津拖链专用柔性电缆 |
98 | 江苏线缆拖链供应 |
99 | 江苏线缆拖链热销 |
155 | 江苏线缆拖链价格 |
... | ... |
323 | 设备线缆拖链保定市哪里有卖的 |
451 | 中山激光切割机专用拖链电缆 |
986 | 济宁拖链电缆trvvp |
811 | 惠州拖链电线电缆厂 |
674 | 淄博拖链屏蔽电缆 |
151 rows × 1 columns
# 检查是否有重复 {没有,上面是151行,下面也是,所以都是单一值}
res_data.drop_duplicates(inplace= True)
res_data
所有需要处理的关键字 | |
---|---|
117 | 天津线缆拖链安装 |
432 | 天津拖链专用柔性电缆 |
98 | 江苏线缆拖链供应 |
99 | 江苏线缆拖链热销 |
155 | 江苏线缆拖链价格 |
... | ... |
323 | 设备线缆拖链保定市哪里有卖的 |
451 | 中山激光切割机专用拖链电缆 |
986 | 济宁拖链电缆trvvp |
811 | 惠州拖链电线电缆厂 |
674 | 淄博拖链屏蔽电缆 |
151 rows × 1 columns
# 去掉地域词的,剩下的就是不包含地域词的词
# 把他们从原始数据中去掉。index = res_data.index取得的是关键字的行索引,axis = 0 第0列
final = data.drop(index = res_data.index, axis = 0)
final
所有需要处理的关键字 | |
---|---|
0 | 拖链系统专用电缆 |
1 | 拖链系统用电缆 |
2 | 优质拖链系统用电缆 |
3 | 易格斯拖链系统用电缆 |
4 | 拖链系统用电缆定制 |
... | ... |
993 | 高柔性拖链电缆采购标准是 |
995 | 拖链电缆线采购 |
996 | 采购拖链电缆 |
997 | 采购 拖链电缆 |
998 | 电动葫芦拖链电缆采购 |
848 rows × 1 columns
把所有的词导出到csv文件
#筛选出来的保存路径path需要自行制定,本人指定的是data目录
path="data"
#包含地域关键字要保存的路径,
res_data.to_csv(path+"/"+"包含地域词的所有词.csv")
#不包含地域词的词的保存路径
final.to_csv(path+"/"+"不包含地域词的词.csv")