编写程序,统计文件“Nixon.txt”中出现频率最高的20个单词,并将统计结果写入“Tongji.txt”文件中。(注意:除去'the','and','to','of','a','be','from','in','for'等无意义的单词。)
时间: 2023-12-13 19:04:47 浏览: 56
好的,这是一个统计词频的经典问题,你需要用到Python语言和一些常用的库。首先,我们需要读取文件"Nixon.txt",并把所有的单词都提取出来,然后再对每个单词进行计数,最后统计出现频率最高的20个单词,最后将结果写入"Tongji.txt"文件中。
以下是代码实现的步骤:
```python
# 导入需要的库
import re
from collections import Counter
# 定义需要去除的无意义单词
stopwords = ['the', 'and', 'to', 'of', 'a', 'be', 'from', 'in', 'for']
# 读取文件
with open('Nixon.txt', 'r') as f:
text = f.read()
# 提取所有的单词
words = re.findall(r'\b\w+\b', text.lower())
# 去除无意义单词
words = [word for word in words if word not in stopwords]
# 计数
word_counts = Counter(words)
# 统计出现频率最高的20个单词
top20_words = word_counts.most_common(20)
# 将结果写入文件
with open('Tongji.txt', 'w') as f:
for word, count in top20_words:
f.write(f'{word}: {count}\n')
```
这段代码会读取文件"Nixon.txt",将所有单词提取出来,并去除无意义单词,然后对每个单词进行计数,最后统计出现频率最高的20个单词,并将结果写入"Tongji.txt"文件中。
阅读全文