Fork me on GitHub

python 将分词结果写入txt文件

首先我运用的分词工具是结巴分词 import jieba  然后调用jieba.cut( )  但是jieba.cut 返回的是一个generator的迭代器

他可以显示分词结果 但是无法将结果写入txt 各种报错。类似于a bytes-like object is required, not 'generator'

然后我将结果进行了Str( )处理 还是报类似的错误 只不过变成了not ' generator'

然后经过思考我将结果作list( )处理 然后对生成的list进行处理,去' [  ' ,' ] '和' ,'

def text_save(filename,data):
    file = open(filename,'a+')
    for i in range(len(data)):
        s = str(data[i]).replace('[','').replace(']','')
        s = s.replace("'",'').replace(',','')+' '
        l = clearSen(s)
        file.write(l)
   # file.close(s)

然后可以写进去了  但是遇到乱码问题,写入txt中的文本乱码mmp。

在终端测试各个步骤的输出结果,发现是在对list( )处理时,应该加入utf-8操作。

def text_save(filename,data):
    file = open(filename,'a+',encoding='utf-8')
    for i in range(len(data)):
        s = str(data[i]).replace('[','').replace(']','')
        s = s.replace("'",'').replace(',','')+' '
        l = clearSen(s)
        file.write(l)
   # file.close(s)

#添加句子功能
def usr_add_sentence():
    correct_sentence = entry_add.get()
    correct_sentences = list(jieba.cut(correct_sentence))
   # clearSen(correct_sentences)
    print(correct_sentences)
    text_save('./data/kenlm/2014_words.txt',correct_sentences)
    text_save('./data/kenlm/people2014_words.txt',correct_sentences)

over~

posted @ 2019-05-07 17:02  鲍鲍tql  阅读(4583)  评论(3编辑  收藏  举报