python读取txt, jieba分词并统计词频后输出结果到Excel和txt文档

1
2
3
4
5
with open('1.txt''r') as fp:
    lines = fp.readlines()
    res = [line.split()[1][9:] for line in lines]
    with open('out.txt''w+') as out:
        out.write('\n'.join(res))

#encoding=utf-8
import jieba
import jieba.posseg as pseg
import re
filename='result.txt'
fileneedCut='test.txt'
fn=open(fileneedCut,"r")
f=open(filename,"w+")
for line in fn.readlines():
    words=pseg.cut(line)
    for w in words:
        print >>f,str(w)
f.close()

fn.close()


  1. import sys  
  2. reload(sys)  
  3.   
  4. sys.setdefaultencoding('utf-8')  
  5.   
  6. import jieba  
  7. import jieba.analyse  
  8. import xlwt #写入Excel表的库  
  9.   
  10. if __name__=="__main__":  
  11.   
  12.     wbk = xlwt.Workbook(encoding = 'ascii')  
  13.     sheet = wbk.add_sheet("wordCount")#Excel单元格名字  
  14.     word_lst = []  
  15.     key_list=[]  
  16.     for line in open('1.txt'):#1.txt是需要分词统计的文档  
  17.   
  18.         item = line.strip('\n\r').split('\t'#制表格切分  
  19.         # print item  
  20.         tags = jieba.analyse.extract_tags(item[0]) #jieba分词  
  21.         for t in tags:  
  22.             word_lst.append(t)  
  23.   
  24.     word_dict= {}  
  25.     with open("wordCount.txt",'w') as wf2: #打开文件  
  26.   
  27.         for item in word_lst:  
  28.             if item not in word_dict: #统计数量  
  29.                 word_dict[item] = 1  
  30.             else:  
  31.                 word_dict[item] += 1  
  32.   
  33.         orderList=list(word_dict.values())  
  34.         orderList.sort(reverse=True)  
  35.         # print orderList  
  36.         for i in range(len(orderList)):  
  37.             for key in word_dict:  
  38.                 if word_dict[key]==orderList[i]:  
  39.                     wf2.write(key+' '+str(word_dict[key])+'\n'#写入txt文档  
  40.                     key_list.append(key)  
  41.                     word_dict[key]=0  
  42.       
  43.       
  44.     for i in range(len(key_list)):  
  45.         sheet.write(i, 1, label = orderList[i])  
  46.         sheet.write(i, 0, label = key_list[i])  
  47.     wbk.save('wordCount.xls'#保存为 wordCount.xls文件  

1.txt是你需要分词统计的文本内容,最后会生成wordCount.txt和wordCount.xls两个文件。下图是最后结果

python读取txt, jieba分词并统计词频后输出结果到Excel和txt文档