python 将一篇英语短文切割,统计词频,按照降序排列

python将一篇英文短文每一个词都切割,并统计词频,并写出到Excel,涉及知识点:

  1. 切割英文短文
  2. 统计词频
  3. 按照降序排列:对字典进行排序
  4. 将字典写出到Excel
# 读入文本
# 切词
import re
import xlwt
with open(r'D:\PythonExcercise\file_test\Trump.txt', 'r', encoding='utf-8') as fd:
    a = re.compile(r'[\s\,\;\.\n\(\)\?\"]+')
    m = a.split(fd.read())

# 统计词频
frequency = {}
for word in m:
    if word not in frequency:
        frequency[word] = 1
    else:
        frequency[word] += 1

#对词频进行排序
b = sorted(frequency.items(), key=lambda item: item[1], reverse=True)
words = []
counts = []
for i in b:
    words.append(i[0])
    counts.append(i[1])


# 写出到Excel
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1')
for i in range(len(frequency)):
    worksheet.write(i, 0, words[i])
    worksheet.write(i, 1, counts[i])
workbook.save('frequency.xls')

发布了25 篇原创文章 · 获赞 2 · 访问量 828

猜你喜欢

转载自blog.csdn.net/Di_Panda/article/details/105496724