) 编写程序,统计文件“Nixon.txt”中出现频率最高的20个单词,并将统计结果写入“Tongji.txt”文件中。(注意:除去'the','and','to','of','a','be','from','in','for'等无意义的单词。)
时间: 2023-09-16 15:14:26 浏览: 59
统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
好的,这是一个比较典型的文本处理任务。需要用到 Python 编程语言和一些第三方库。以下是代码实现:
```python
import re
from collections import Counter
# 读取文件
with open('Nixon.txt', 'r') as f:
text = f.read()
# 去除标点符号和换行符,转换为小写
text = re.sub(r'[^\w\s]', '', text)
text = text.lower()
text = text.replace('\n', ' ')
# 分词
words = text.split()
# 去除无意义的单词
stop_words = set(['the', 'and', 'to', 'of', 'a', 'be', 'from', 'in', 'for'])
words = [w for w in words if w not in stop_words]
# 统计词频
counter = Counter(words)
# 获取出现频率最高的20个单词
top_words = counter.most_common(20)
# 写入文件
with open('Tongji.txt', 'w') as f:
for word, freq in top_words:
f.write('{} {}\n'.format(word, freq))
```
注意,上述代码中用到了正则表达式和 `collections` 模块中的 `Counter` 类。如果你不熟悉这些内容,可以先自学一下。
阅读全文