python打开一个内容为一篇英文文章的文本文件,假设文章中的标点只有句号、逗号、叹号和问号,统计其中单词的出现频率,忽略大小写。输出文章中出现频率最高的 5 个单词及出现次数。
时间: 2024-02-13 11:02:53 浏览: 95
统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
好的,这是一个统计文本单词频率的问题。以下是 Python 代码示例:
```python
import re
from collections import Counter
# 打开文件并读取内容
with open('article.txt', 'r') as f:
text = f.read()
# 将文本中的标点符号替换为空格
text = re.sub(r'[^\w\s]', ' ', text)
# 将文本转换为小写并分割成单词列表
words = text.lower().split()
# 统计单词出现频率
word_counts = Counter(words)
# 输出出现频率最高的 5 个单词及出现次数
top_words = word_counts.most_common(5)
print("出现频率最高的 5 个单词及出现次数:")
for word, count in top_words:
print(f"{word}: {count}")
```
其中,`re.sub(r'[^\w\s]', ' ', text)` 用于将文本中的标点符号替换为空格,`words = text.lower().split()` 用于将文本转换为小写并分割成单词列表,`word_counts = Counter(words)` 用于统计单词出现频率,`word_counts.most_common(5)` 用于获取出现频率最高的 5 个单词及出现次数。你可以将代码中的 `article.txt` 替换为你所需的文本文件路径。希望这个代码可以帮助你解决问题。
阅读全文