使用python将excel长文本中包含特定关键词的句子提取出来

工作需要,需要长文本中包含特定关键词的句子,且句子提取之后要能够和原数据一一对应起来。
我用的方法是

  1. 给原数据每一行一个序号,作为唯一标志。将excel中序号和评论这两列作为字典读取
  2. 对评论分句,将分句结果保存为列表
  3. 找到包含关键词的句子,将其和评论序号存入新字典
  4. 将字典写入csv文件
# -*- coding: utf-8 -*-
"""
Created on Sun Mar  1 11:20:50 2020

@author: weisssun
"""

import re
import csv
import pandas as pd

#将长文本中包含特定关键词的句子提取出来

#list_5g = []
pattern = r'\.|/|;|\'|`|\?|"|\~|!|\^|。|‘|’|·|!|…'
#断句符号
juzi = {}

content = pd.read_excel(r'D:\Python\含5G评论.xlsx')
#读取原始文本所在的excel文件

comments = content.set_index("序号").to_dict()['评论']
#序号列用来作为区分标志和dict的键值,评论列存放原始文本


for k, v in comments.items():
        result_list = re.split(pattern, v)
        #print(result_list)
        for i in result_list:
            if '5g' in i or '5G' in i:
                #句子是否包含特定关键词'5g'或'5G'
                #print(i)
                #list_5g.append(i)
                juzi[k] = i
                #将包含关键词的句子,和相应评论的序号保存到字典中
                

with open(r'D:\Python\5g_comments.csv', 'w', newline='',encoding='gbk') as f:
    #将包含关键词的句子和序号写入csv文件
    writer = csv.writer(f)            
    for k, v in juzi.items():
        writer.writerow([k, v])
  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值