文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python文本处理的方案(结巴分词并去除符号)

2022-06-02 22:25

关注

看代码吧~


import re
import jieba.analyse
import codecs
import pandas as pd
def simplification_text(xianbingshi):
    """提取文本"""
    xianbingshi_simplification = []
    with codecs.open(xianbingshi,'r','utf8') as f:
        for line in f :
            line = line.strip()
            line_write = re.findall('(?<=\<b\>).*?(?=\<e\>)',line)
            for line in line_write:
                xianbingshi_simplification.append(line)
    with codecs.open(r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\code\xianbingshi_write.txt','w','utf8') as f:
        for line in xianbingshi_simplification:
            f.write(line + '\n')
def jieba_text():
    """"""
    word_list = []
    data = open(r"C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\xianbingshi_write.txt", encoding='utf-8').read()
    seg_list = jieba.cut(data, cut_all=False)  # 精确模式
    for i in seg_list:
        word_list.append(i.strip())
    data_quchong = pd.DataFrame({'a':word_list})
    data_quchong.drop_duplicates(subset=['a'],keep='first',inplace=True)
    word_list = data_quchong['a'].tolist()
    with codecs.open('word.txt','w','utf8')as w:
        for line in word_list:
            w.write(line + '\n')
def word_messy(word):
    """词语提炼"""
    word_sub_list = []
    with codecs.open(word,'r','utf8') as f:
        for line in f:
            line_sub = re.sub("^[1-9]\d*\.\d*|^[A-Za-z0-9]+$|^[0-9]*$|^(-?\d+)(\.\d+)?$|^[A-Za-z0-9]{4,40}.*?",'',line)
            word_sub_list.append(line_sub)
    word_sub_list.sort()
    with codecs.open('word.txt','w','utf8')as w:
        for line in word_sub_list:
            w.write(line.strip("\n") + '\n')
if __name__ == '__main__':
    xianbingshi = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\xianbingshi_sub_sen_all(1).txt'
    # simplification_text(xianbingshi)
    # word = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\word.txt'
    simplification_text(xianbingshi)

补充:python 进行结巴分词 并且用re去掉符号

看代码吧~


# 把停用词做成字典
stopwords = {}
fstop = open('stop_words.txt', 'r',encoding='utf-8',errors='ingnore')
for eachWord in fstop:
    stopwords[eachWord.strip()] = eachWord.strip()  #停用词典
fstop.close()
f1=open('all.txt','r',encoding='utf-8',errors='ignore')
f2=open('allutf11.txt','w',encoding='utf-8')
line=f1.readline()
while line:
    line = line.strip()  #去前后的空格
    line = re.sub(r"[0-9\s+\.\!\/_,$%^*()?;;:-【】+\"\']+|[+——!,;:。?、~@#¥%……&*()]+", " ", line) #去标点符号
    seg_list=jieba.cut(line,cut_all=False)  #结巴分词
    outStr=""
    for word in seg_list:
        if word not in stopwords:
            outStr+=word
            outStr+=" "
    f2.write(outStr)
    line=f1.readline()
f1.close()
f2.close()

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯