import jieba f=open('荷塘月色.txt') article_text=f.read() f.close() article=jieba.lcut(article_text) dic={} for word in article: if word not in dic: dic[word]=1 else: dic[word]+=1 swd=sorted(list(dic.items()),key=lambda lst:lst[1],reverse=True) f1=open('filename.txt', encoding='utf-8') text = f.read() stop_wds=f1.read() f1.close() for kword,times in swd: if kword not in stop_wds: print(kword,times) 哪里有问题进行改正并写出
时间: 2024-02-02 21:04:49 浏览: 185
在第13行,应该将`f`改为`f1`,即:
```
stop_wds=f1.read()
```
此外,第12行应该加上关闭文件的操作,即:
```
f1.close()
```
改正后的代码如下:
```
import jieba
f = open('荷塘月色.txt')
article_text = f.read()
f.close()
article = jieba.lcut(article_text)
dic = {}
for word in article:
if word not in dic:
dic[word] = 1
else:
dic[word] += 1
swd = sorted(list(dic.items()), key=lambda lst:lst[1], reverse=True)
f1 = open('filename.txt', encoding='utf-8')
text = f1.read()
stop_wds = text.split('\n')
f1.close()
for kword, times in swd:
if kword not in stop_wds:
print(kword, times)
```
相关问题
import wordcloud import numpy as np from PIL import Image import jieba Tree = Image. open(r"tree.jpg") shape = np. array(Tree) wc = wordcloud.WordCLoud(mask=shape, font_path="simkai. ttf", background_color="white", max_font_size=100) text = open(r"C:\Users\28243\Desktop\zuoye\i love china.txt", "r", encoding='utf-8') .read() cut_text = jieba. cut(text) result = " ".join(cut_text) wc.generate (result) wc.to_file("cloud.jpg")
这段代码看起来是使用 Python 中的 wordcloud 库来生成词云图。代码中导入了 wordcloud、numpy、PIL 中的 Image 模块以及 jieba(用于文分词)。
首先,代码打开了一张名为 "tree.jpg" 的图片,并将其转换为 numpy 数组形式的变量 shape。
接下来,通过 WordCloud 类创建了一个词云对象 wc,其中传入了参数:mask(用于指定词云的形状,这里使用了之前读取的图片的形状)、font_path(字体文件的路径,这里使用了 "simkai.ttf")、background_color(背景颜色设置为白色)、max_font_size(最大字体大小为100)。
然后,代码打开了一个名为 "i love china.txt" 的文本文件,并读取其内容为变量 text。
接下来,使用 jieba 库对文本进行分词,将分词结果拼接成字符串并赋值给变量 result。
最后,调用词云对象 wc 的 generate() 方法生成词云图,并保存为名为 "cloud.jpg" 的图片文件。
如果您有任何其他问题,请随时提问。
以下代码:import jieba seg_list = [jieba.lcut(text) for text in new_data] jieba.analyse.set_stop_words('stopwords.txt') # 设置停用词 keywords = [jieba.analyse.extract_tags(text) for text in new_data] # 提取关键词。发生以下错误:odule 'jieba' has no attribute 'analyse'。请对原代码进行修改
抱歉,可能是因为你使用的jieba版本较旧,没有`jieba.analyse`模块。可以尝试使用以下代码:
```
import jieba
import jieba.analyse
seg_list = [jieba.lcut(text) for text in new_data]
jieba.analyse.set_stop_words('stopwords.txt') # 设置停用词
keywords = [jieba.analyse.extract_tags(text) for text in new_data] # 提取关键词
```
这样可以确保正确导入`jieba.analyse`模块并使用其中的函数。
阅读全文