Python统计一个txt的英文文档里各个单词出现的频率
时间: 2023-06-13 12:08:00 浏览: 145
可以使用Python中的collections模块中的Counter类来完成这个任务。具体步骤如下:
1. 读取txt文件内容
2. 将文件内容转换为小写字母,去除标点符号和换行符
3. 使用split()方法将字符串分割成单词列表
4. 使用Counter类统计每个单词出现的次数
5. 输出结果
下面是代码示例:
```python
from collections import Counter
# 读取txt文件内容
with open('example.txt', 'r') as f:
text = f.read()
# 将文件内容转换为小写字母,去除标点符号和换行符
text = text.lower().replace('\n', ' ').replace(',', '').replace('.', '').replace('!', '').replace('?', '')
# 使用split()方法将字符串分割成单词列表
words = text.split()
# 使用Counter类统计每个单词出现的次数
word_counts = Counter(words)
# 输出结果
for word, count in word_counts.most_common():
print(f'{word}: {count}')
```
解释一下代码:
1. 首先使用open()函数打开txt文件,使用with语句保证文件在使用后正确关闭。
2. 读取文件内容并赋值给变量text。
3. 对text进行一系列字符串操作,将其转换为小写字母,去除标点符号和换行符。
4. 使用split()方法将text分割成单词列表,并赋值给变量words。
5. 使用Counter类对words中的单词进行统计,得到每个单词出现的次数,并赋值给变量word_counts。
6. 使用most_common()方法对word_counts进行排序,得到出现次数最多的单词列表,并遍历输出每个单词及其出现次数。
阅读全文