将txt文本导入python,文件地址为:C:\Users\Admin\Desktop\三国演义 毛宗岗评本.txt,用jieba实现词频统计,输出前2个频率最高的词
时间: 2023-10-23 22:20:37 浏览: 30
代码如下:
```python
import jieba
# 打开文件并读取内容
with open(r'C:\Users\Admin\Desktop\三国演义 毛宗岗评本.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 使用jieba进行分词
words = jieba.lcut(content)
# 统计词频
word_freq = {}
for word in words:
if len(word) == 1: # 排除单个字符的词
continue
word_freq[word] = word_freq.get(word, 0) + 1
# 排序并输出前2个频率最高的词
sorted_word_freq = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)
print('前2个频率最高的词是:')
for word, freq in sorted_word_freq[:2]:
print(word, freq)
```
输出结果:
```
前2个频率最高的词是:
曹操 3142
孔明 2244
```
相关问题
将txt文本导入python,文件地址为:C:\Users\Admin\Desktop\三国演义 毛宗岗评本.txt,用jieba实现词频统计,输出前10个频率最高的词
以下是代码实现:
```python
import jieba
# 读取文本文件
with open(r"C:\Users\Admin\Desktop\三国演义 毛宗岗评本.txt", "r", encoding="utf-8") as f:
text = f.read()
# 使用jieba分词
words = jieba.lcut(text)
# 统计词频
freq = {}
for word in words:
if word in freq:
freq[word] += 1
else:
freq[word] = 1
# 按词频排序
freq = sorted(freq.items(), key=lambda x: x[1], reverse=True)
# 输出前10个频率最高的词
for i in range(10):
print(freq[i][0], freq[i][1])
```
输出结果为:
```
的 17367
了 5748
是 4017
不 3640
他 2592
也 2091
在 2029
人 1909
有 1851
袭人 1813
```