读取文件 '水浒传.txt' 用jieba 对全文分词 统计分词得到的词汇出现的次数 把这些词汇按出现的次数逆序排序 打印 '宋江' 出现的次数
时间: 2024-05-14 11:11:46 浏览: 213
好的,没有问题。关于你的问题,我可以帮你解决。以下是代码示例:
```python
import jieba
# 读取文件并分词
with open('水浒传.txt', 'r', encoding='utf-8') as f:
text = f.read()
words = jieba.lcut(text)
# 统计词频
word_counts = {}
for word in words:
if len(word) <= 1: # 排除单个字符的词
continue
if word in word_counts:
word_counts[word] += 1
else:
word_counts[word] = 1
# 按词频逆序排序
sorted_words = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
# 打印“宋江”出现的次数
songjiang_count = 0
for item in sorted_words:
if item[0] == '宋江':
songjiang_count = item[1]
break
print('宋江出现的次数:', songjiang_count)
```
希望这可以帮到你!
相关问题
新建“test4”Python文件:读取素材中的“test.txt”文件,使用jieba库进行分词,并将出现次数前5的词汇和出现次数信息写入到“output.txt”文件中。
好的,以下是代码实现:
```python
import jieba
# 读取文件
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
# 使用jieba进行分词
words = jieba.cut(content)
word_count = {}
# 统计词频
for word in words:
if len(word) > 1:
word_count[word] = word_count.get(word, 0) + 1
# 按照词频从大到小排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 写入文件
with open("output.txt", "w", encoding="utf-8") as f:
for i in range(5):
f.write(f"{sorted_word_count[i][0]}:{sorted_word_count[i][1]}\n")
```
代码中使用了jieba库进行中文分词,通过字典统计词频,并使用sorted函数按照词频从高到低进行排序。最后,将出现次数前5的词汇和出现次数信息写入到“output.txt”文件中。
读取文本文件file.txt并统计单词出现的次数,打印输出,用jieba库
在Python中,你可以使用`jieba`库来进行中文分词,并结合`collections`库的`Counter`类来统计单词(这里指词语)出现的次数。以下是一个简单的步骤:
```python
import jieba
from collections import Counter
# 打开并读取文件
with open('file.txt', 'r', encoding='utf-8') as file:
text = file.read()
# 使用jieba进行分词
words = jieba.lcut(text)
# 统计每个单词出现的次数
word_counts = Counter(words)
# 打印结果
for word, count in word_counts.items():
print(f'{word}: {count}')
# 输出按单词排序的结果
print("\nTop words:")
for word, count in word_counts.most_common():
print(f'{word}: {count}')
阅读全文