假设当前文件夹下有一个英文的文本文件hamlet.txt,编写程序,统计该英文中单词的出现次数,并将出现次数最多的前20个单词及出现次数按降序显示在屏幕的同时也存到python3.csv文件中
时间: 2023-05-20 21:06:30 浏览: 95
好的,我可以帮你解决这个问题。以下是Python代码:
```python
import re
from collections import Counter
import csv
# 读取文本文件
with open('hamlet.txt', 'r') as f:
text = f.read()
# 去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\n', ' ', text)
# 统计单词出现次数
words = text.split()
word_counts = Counter(words)
# 获取出现次数最多的前20个单词
top_words = word_counts.most_common(20)
# 输出结果
print('出现次数最多的前20个单词:')
for word, count in top_words:
print(f'{word}: {count}')
# 将结果存储到CSV文件中
with open('python3.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['单词', '出现次数'])
for word, count in top_words:
writer.writerow([word, count])
```
这个程序会读取当前文件夹下的hamlet.txt文件,统计其中单词的出现次数,并将出现次数最多的前20个单词及其出现次数按降序显示在屏幕上,并存储到python3.csv文件中。
阅读全文