遍历筛选核心关键词与文档

Case1 以词为单元

        在文本处理的过程中,有时我们并不是需要所有的数据,而实需要包含某些关键词的文本,因此可以通过for循环进行遍历筛选。

具体流程:读取数据 — 分词 — 遍历筛选 — 拼接还原

step1:导入所需要的包和数据集

import pandas as pd
import jieba
#数据分割
data = pd.read_excel('不止武汉.xlsx')['内容']#读取需要筛选的内容列
other = pd.read_excel('不止武汉.xlsx').iloc[:,1]#读取其他列
keys=open('关键词.txt','r',encoding='utf-8').read()#读取关键词

内容示例:

关键词示例:

        step2:遍历筛选

words=[]
for comment in data:
    c_words = jieba.cut(comment)
    words.append([word for word in c_words if word in keys])

         step3:拼接还原

        由于step2筛选结果是一个list of list的格式,因此需要将其转化为一层List并且再进行拼接

main=[]
for i in words:
    main.append(' '.join(i))
result = pd.concat([pd.DataFrame(main),other],axis=1)

        最终的结果:

Case2 以文档(评论)为单元

法1:for循环

df = pd.read_excel('data.xlsx')['评论']
key = open(data.txt','r',encoding='utf-8').readlines()
result=[]
for i in df:
    for j in key:
        if j in i:
            result.append(i)

法2:pandas

df = pd.read_excel('data.xlsx')['评论']
key = open(data.txt','r',encoding='utf-8').readlines()
key_words =  '|'.join(key)#一定要保持这个形式
key_words = kansei.replace('\n', '')
data = df[df.str.contains(key_words)]

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供以下的Python代码来实现这个功能: ```python import os import re from collections import Counter import jieba.analyse # 读取文本文件,提取关键词并统计词频 def extract_keywords(filepath, topk=10): with open(filepath, 'r', encoding='utf-8') as f: content = f.read() # 使用jieba分词提取关键词 keywords = jieba.analyse.extract_tags(content, topK=topk) # 统计关键词出现的次数 counter = Counter(keywords) return dict(counter) # 遍历指定目录下的所有txt文件,提取关键词并输出文档 def extract_keywords_from_dir(dirpath, topk=10): # 遍历目录下的所有txt文件 for filename in os.listdir(dirpath): if filename.endswith('.txt'): # 构造文件的绝对路径 filepath = os.path.join(dirpath, filename) # 提取关键词并统计词频 keywords = extract_keywords(filepath, topk) # 将关键词和词频输出到文档中 with open('output.txt', 'a', encoding='utf-8') as f: f.write(f'{filename}:\n') for keyword, count in keywords.items(): f.write(f'\t{keyword}: {count}\n') f.write('\n') # 测试代码 if __name__ == '__main__': # 指定目录路径和输出的关键词数量 dirpath = 'txt_files' topk = 10 # 清空输出文档 with open('output.txt', 'w', encoding='utf-8') as f: f.write('') # 提取关键词并输出文档 extract_keywords_from_dir(dirpath, topk) print('提取完成,结果保存在output.txt中') ``` 这段代码会遍历指定目录下的所有txt文件,提取关键词并统计词频,最后将关键词和词频输出到output.txt文件中。您可以根据需要修改目录路径和输出的关键词数量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#温室里的土豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值