如何使用Python读取一个文本文件并统计其中每个单词出现的次数?


在Python中,可以使用`open`函数读取文本文件,并使用`collections.Counter`来统计每个单词出现的次数。以下是示例代码:

```python
from collections import Counter

# 打开文件并读取内容
with open('example.txt', 'r', encoding='utf-8') as file:
text = file.read()

# 将文本内容按照空格分割成单词列表
words = text.split()

# 使用Counter统计每个单词出现的次数
word_counts = Counter(words)

# 打印出现次数
for word, count in word_counts.items():
print(f"单词:{word},出现次数:{count}")
```

在这个示例中:
- `example.txt` 是你要读取的文本文件的名称。
- 使用了`split()`方法将文本分割为单词列表,默认按空格分割。
- `Counter`类会自动统计每个单词出现的频率并返回一个字典形式的对象,其中键是单词,值是出现的次数。

注意:
1. 如果需要忽略大小写,可以在分割单词之前使用`lower()`方法将字符全部转换为小写。
2. 如果需要去掉标点符号,可以使用`re`模块进行预处理,例如通过正则表达式去除标点符号。

优化处理的示例代码:
```python
import re
from collections import Counter

# 打开文件并读取内容
with open('example.txt', 'r', encoding='utf-8') as file:
text = file.read()

# 去掉标点符号并转换为小写
text_cleaned = re.sub(r'[^\w\s]', '', text).lower()

# 将文本内容按照空格分割成单词列表
words = text_cleaned.split()

# 使用Counter统计每个单词出现的次数
word_counts = Counter(words)

# 打印出现次数
for word, count in word_counts.items():
print(f"单词:{word},出现次数:{count}")
```

通过这段代码,能够有效统计文本中每个单词的出现频率。

若文章对您有帮助,帮忙点个赞!

0
0
发布时间 2025-02-19 23:00:24
0 条回复(回复会通过微信通知作者)
点击加载更多评论
登录 后再进行评论
(微信扫码即可登录,无需注册)