我在看英文书的时候,会先去统计一下词频,看看哪些是比较单词是出现比较多的。
另外就是,把出现最多的那一批单词优先搞懂的话,那么你再去阅读的时候,就会轻松很多了 —— 因为高频出现的单词你几乎已经全扫清了。
具体的 Python 代码如下:
import jieba
import nltk
import xlwt
# 读取 txt 文档
with open('a.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 排除掉不想要统计次数的单词
excludes = {"I","love","java"}
#去除特殊符号
def getText():
# 读取文件,返回 txt
txt = open("a.txt", "r", encoding='utf-8').read()
# 转为小写
txt = txt.lower()
#将文本中特殊字符替换为空格
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
txt = txt.replace(ch, " ")
return txt
# 使用 jieba 库进行分词
words = jieba.lcut(getText())
# 去除单词长度在 7 个以下的,去除之前定义的,统计其他单词的数量
counts = {}
for word in words:
if len(word) < 5:
continue
elif word in excludes:
continue
elif word.isdigit() == True:
continue
else:
rword = word
counts[rword] = counts.get(rword, 0) + 1
# 写入 Excel 文档
wb = xlwt.Workbook()
sheet = wb.add_sheet('词频统计')
# 写入表头
sheet.write(0, 0, '词')
sheet.write(0, 1, '频率')
# 写入数据
i = 1
for word, count in counts.items():
sheet.write(i, 0, word)
sheet.write(i, 1, count)
i += 1
# 保存 Excel 文档
wb.save('word_counts.xls')