读取 data.txt 文件并借助 jieba 库实现词频统计
时间: 2024-02-01 19:15:46 浏览: 81
好的,以下是实现的代码:
```python
import jieba
# 读取文件内容
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
# 分词
words = jieba.cut(content)
# 统计词频
word_freq = {}
for word in words:
if len(word) > 1:
word_freq[word] = word_freq.get(word, 0) + 1
# 排序并输出结果
sorted_word_freq = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)
for word, freq in sorted_word_freq:
print(word, freq)
```
这段代码首先读取了名为 `data.txt` 的文件,并使用 `jieba` 库对文件内容进行分词。然后遍历分词结果,统计每个词出现的次数,存储在 `word_freq` 字典中。最后将字典按照值从大到小排序,并输出结果。
相关问题
读取 data.txt 文件并借助 jieba 库实现词频统计, 将出现频率最高的 10 个词输出
好的,我可以帮你实现这个功能。首先需要安装`jieba`库,可以使用以下命令进行安装:
```
pip install jieba
```
然后我们可以编写以下代码读取`data.txt`文件并进行词频统计:
```python
import jieba
# 读取文件内容
with open('data.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 进行分词
words = jieba.cut(content)
# 统计词频
word_count = {}
for word in words:
if len(word) > 1: # 只统计长度大于1的词
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出出现频率最高的前10个词
top_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:10]
for word, count in top_words:
print(word, count)
```
以上代码首先使用`open()`函数读取`data.txt`文件的内容,然后使用`jieba.cut()`函数对内容进行分词。接着使用一个字典`word_count`统计每个词出现的次数,最后使用`sorted()`函数对字典进行排序,输出出现频率最高的前10个词。
读取 data.txt 文件并借助 jieba 库实现词频统计, 将出现频率最高的 10 个词输出,输入结果如下: 发展:83 就业:39 加强:33 企业:32 疫情:31 建设:31 支持:31 推进:25 经济:24 保障:24
好的,这是一个简单的 Python 代码实现。首先需要安装 jieba 库,可以使用 pip 进行安装。
```python
import jieba
# 读取文件内容
with open('data.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 使用 jieba 分词
words = jieba.cut(content)
# 统计词频
freq_dict = {}
for word in words:
if len(word) > 1:
freq_dict[word] = freq_dict.get(word, 0) + 1
# 找出出现频率最高的 10 个词
top_words = sorted(freq_dict.items(), key=lambda x: x[1], reverse=True)[:10]
# 输出结果
for word, freq in top_words:
print(f"{word}:{freq}")
```
注意,此处假设 `data.txt` 文件已经存在,并且其编码为 utf-8。如果文件不存在或者编码不同,需要进行相应的修改。
阅读全文