编写程序,统计文件“Nixon.txt”中出现频率最高的20个单词,并将统计结果写入“Tongji.txt”文件中。(注意:除去'the','and','to','of','a','be','from','in','for'等无意义的单词
时间: 2023-12-13 18:04:47 浏览: 38
好的,我可以帮你实现这个功能。这里提供一个 Python 的解决方案:
```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()
# 去除标点符号和换行符
text = re.sub(r'[^\w\s]', ' ', text)
text = re.sub(r'\n', ' ', text)
# 将文本分割成单词列表,并去除无意义单词
words = [word.lower() for word in text.split() if word.lower() not in stopwords]
# 统计单词出现的频率
word_counts = Counter(words)
# 获取出现频率最高的20个单词
top_words = word_counts.most_common(20)
# 将统计结果写入文件中
with open('Tongji.txt', 'w') as f:
for word, count in top_words:
f.write(f'{word}: {count}\n')
```
这个程序会读取名为“Nixon.txt”的文件,去除其中的标点符号和换行符,并将文本分割成单词列表。然后,它会统计每个单词出现的频率,并获取出现频率最高的20个单词。最后,程序将统计结果写入名为“Tongji.txt”的文件中。
阅读全文