打开一个内容为一篇英文文章的文本文件,假设文章中的标点只有句号、逗号、叹号和问号,统计其中单词的出现频率,忽略大小写。输出文章中出现频率最高的5个单词及出现次数。
时间: 2024-02-11 09:09:27 浏览: 25
好的,我会为您提供一个 Python 代码来实现这个功能。
首先,我们需要读取文本文件中的内容,并将其中的标点符号替换为空格,将每个单词分开。可以使用 Python 的 replace() 函数和 split() 函数实现。
接下来,我们可以定义一个空的字典,用于记录每个单词出现的次数。遍历每个单词,将其转换为小写,并将其作为字典的键,在字典中累加其出现的次数。
最后,我们可以使用 Python 的 Counter 类对字典中的元素按照出现次数进行排序,取出前5个出现频率最高的单词及其出现次数。
下面是实现这个功能的 Python 代码:
```
import re
from collections import Counter
filename = input("请输入文件名: ")
with open(filename, 'r') as f:
text = f.read()
text = re.sub(r'[,.!?]', ' ', text) # 将标点符号替换为空格
words = text.split() # 将每个单词分开
word_count = {}
for word in words:
word = word.lower() # 将单词转换为小写
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
top5_words = Counter(word_count).most_common(5)
print("出现频率最高的5个单词及出现次数:")
for word, count in top5_words:
print(word, count)
```
希望能够帮助到您!