Python词频统计

怎么在一段英语报告中提取词频统计,并按顺序排列,尝试了几种代码都是报错,求告知

import re

# 请根据处理要求下面区域完成代码的编写。
def get_artical(artical_path):
    with open(artical_path) as fr:
        data = fr.read()
    return data

#处理函数
def handle(data):    
    counts = {}
    #data = data.lower()
    data1 = re.sub('\n',' ',data)#替换换行符为空格
    reg = "[^A-Za-z\']"
    data = re.sub(reg,' ',data1)#只保存英文,同时保留don't isn't类似单词
    data = data.lower()
    list_data = data.split()#列表
    #遍历统计
    for word in list_data:
        if word in counts.keys():
            counts[word] = counts[word] +1
        else:
            counts[word] = 1
    return counts

# get_artical()为自定义函数,可用于读取指定位置的试题内容。
data = get_artical('./artical.txt')
re_counts = handle(data)
re_counts = sorted(re_counts.items(),key=lambda x:x[1],reverse=True)#词频从大到小排序,
print(re_counts)


试试这个看行不行

用过jieba库了吗

推荐使用jieba库:http://t.csdn.cn/UuNb8

换一个包

可以使用jieba分词,还可以自定义词语和停用词,网上示例很多,稍微改改就可以