8.《射雕英雄传》是金庸的重要武侠作品之一。这里给出一个《射雕英雄传》的网络版本,文件名为“射雕英雄传-网络版.txt”。 请编写程序,统计该文件出现的所有中文词语及出现次数,要求: (1) 以CSV格式输出到文件“射雕英雄传-词频统计.txt”中。 CSV格式如下:词语1:233,词语2:564,词语3:344,…… (2)在屏幕上打印输出词频最高的8个词语。 屏幕输出格式如下: 词语1,词语2,词语3,词语4,词语5,词语6,词语7,词语8
时间: 2024-03-25 12:38:21 浏览: 153
好的,以下是Python代码实现:
```python
import jieba
import csv
# 读取文件
with open("射雕英雄传-网络版.txt", "r", encoding="utf-8") as f:
content = f.read()
# 分词并统计词频
word_dict = {}
for word in jieba.cut(content):
if len(word) > 1: # 只统计长度大于1的词语
if word in word_dict:
word_dict[word] += 1
else:
word_dict[word] = 1
# 将词频排序并保存到文件
with open("射雕英雄传-词频统计.txt", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
for word, count in sorted(word_dict.items(), key=lambda x: x[1], reverse=True):
writer.writerow([f"{word}:{count}"])
# 输出词频最高的8个词语
print("词频最高的8个词语:")
for word, count in sorted(word_dict.items(), key=lambda x: x[1], reverse=True)[:8]:
print(word, end=",")
```
该代码使用了jieba库进行中文分词,统计词频,并将结果保存到文件中。同时,还输出了词频最高的8个词语。注意,为了方便输出到CSV文件,使用了Python内置的csv库来处理文件输出。
阅读全文