基于Python编写词云软件并显示分词结果

 更新时间:2023年10月20日 09:02:01   作者:微小冷  
这篇文章主要为大家详细介绍了如何基于Python编写一个简单的词云制作软件并显示分词结果,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下

参考:Python打造一个词云软件

显示分词结果

目前来说虽然实现了词云输出的功能,但词云创作的过程却被隐藏起来了,为了更加便于操作,需要一个显示分词结果的组件,这一点Text就完全可以胜任,故而在initWidgets中添加

def initWidgets(self):
    # 前面不用动
    frm = ttk.LabelFrame(self, text="分词结果")
    frm.pack(fill=tk.BOTH, expand=True)
    self.txtSplit = tk.Text(frm)
    self.txtSplit.pack(side=tk.LEFT, fill=tk.BOTH, padx=5, pady=5, expand=True)
    self.addScroll(frm, self.txtSplit)

其中self.addScroll用于添加滚动条,内容如下

def addScroll(self, frm, txt):
    scroll = ttk.Scrollbar(frm)
    scroll.pack(side=tk.RIGHT,fill=tk.Y)
    txt.config(yscrollcommand=scroll.set)
    scroll.config(command=txt.yview)

由于text组件不能绑定StringVar,所以需要设置一个函数,用于更改txtSplit中的值

def setSplit(self, txt):
    self.txtSplit.delete(1.0, "end")
    self.txtSplit.insert("end", txt)
    self.txtSplit.see("end")

然后,添加分词按钮,修改initPara函数

def initPara(self, frmPara):
    # 前面不用改动            
    frm = ttk.Frame(frmPara)
    frm.pack(side=tk.TOP, fill=tk.X)
    ttk.Button(frm, text="分词预览", 
        command=self.splitWords).pack(side=tk.LEFT)
    ttk.Button(frm, text="分词保存", 
        command=self.saveWords).pack(side=tk.LEFT)
    ttk.Button(frm, text="输出词云", 
        command=self.genWordCloud).pack(side=tk.LEFT)

并将splitWords函数改为

def splitWords(self):
    p = self.paths["输入路径"].get()
    with open(p, encoding='utf8') as f:
        text = f.read()
    words = jieba.lcut(text)
    self.words = [w for w in words if len(w)>1] # 取出长度大于1的词
    self.setSplit("\n".join(self.words))

效果如下

词云输出方法

相应地,输出词云的方法也要更改,原来是通过self.words来生成词云,现在则要经过self.txtSplit

def genWordCloud(self):
    # 前面不用改
    cloud = WordCloud(**dct)
    txt = self.txtSplit.get(1.0, "end")
    txt = " ".join(txt.split("\n"))
    cloud.generate(txt)
    # 后面也不用改

这样就可以生成词云了,接下来要实现保存分词结果的功能。

def saveWords(self):
    path = asksaveasfilename()
    with open(path) as f:
        f.write(self.txtSplit.get(1.0, 'end'))

到此这篇关于基于Python编写词云软件并显示分词结果的文章就介绍到这了,更多相关Python词云内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python开发之射击闯关游戏的实现

    Python开发之射击闯关游戏的实现

    这篇文章主要为大家详细介绍了如何利用Python实现射击闯关游戏,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-01-01
  • 基于Python编写一个简单的端口扫描器

    基于Python编写一个简单的端口扫描器

    端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到。本文将利用Python编写一个简单的端口扫描器,需要的可以参考一下
    2022-04-04
  • Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

    Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ I

    这篇文章主要介绍了Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法,通过模拟器ram设置的调整予以解决,需要的朋友可以参考下
    2016-07-07
  • 如何用OpenCV -python3实现视频物体追踪

    如何用OpenCV -python3实现视频物体追踪

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。这篇文章主要介绍了如何用OpenCV -python3实现视频物体追踪,需要的朋友可以参考下
    2019-12-12
  • 基于Python实现图片九宫格切图程序

    基于Python实现图片九宫格切图程序

    这篇文章主要为大家详细介绍了如何利用python和C++代码实现图片九宫格切图程序,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-04-04
  • Python制作动态词频条形图的全过程

    Python制作动态词频条形图的全过程

    说起动态图表,最火的莫过于动态条形图了,下面这篇文章主要给大家介绍了关于Python制作动态词频条形图的全过程,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • python 远程统计文件代码分享

    python 远程统计文件代码分享

    享一个Python获取远程文件大小的函数代码,简单实用,是学习Python编程的基础实例。
    2015-05-05
  • python连接数据库后通过占位符添加数据

    python连接数据库后通过占位符添加数据

    在pymysql中支持对占位符的处理,开发者需要在SQL中使用“%”定义占位符,在使用excute()方法执行时对占位符的数据进行填充即可,本文给大家介绍python连接数据库后通过占位符添加数据的方法,需要的朋友参考下吧
    2021-12-12
  • python简单验证码识别的实现方法

    python简单验证码识别的实现方法

    这篇文章主要给大家介绍了关于python简单验证码识别的实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Python 中的 dataclass使用场景与代码示例详解

    Python 中的 dataclass使用场景与代码示例详解

    在Python中,dataclass是一个装饰器,用于简化类的定义,自动生成初始化、比较等方法,适用于需要存储数据的场景,通过示例展示了dataclass的基本用法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论