python词云去除词_使用Python制作一个带GUI界面的词云自动生成工具(连载五)

上一篇中我们介绍了自动生成词云工具(GUI)中数据清洗界面的实现过程(详解词云自动生成工具的数据清洗界面制作过程(连载四)),了解掌握了Grid、Pack混合布局的方法。本篇我们将讨论Python自动生成词云工具数据清洗功能的实现。

不废话,我们开始吧

267f9e2f07082838f1c80f4f5cbec8044d08f156.jpeg?token=895f63b29b5c0d57b76d6ef078e67398&s=2572EA22010204FB097CE49B030080D1准备好了吗,我们开始了

目标

通过梳理整个清理过程,我们实现上一篇中未实现的WordCloudGUI类的部分方法。

分析

开始之前,我们还是老思路,先分析一下。

48540923dd54564ef1732a4357f9fd87d1584f67.jpeg?token=d279d9ce5e9b864c6311b89a7bf15c6b&s=7D16E51F5950F2CC0FF981E403007023先来分析一下

在第一页面中,得g到的是整个文本的内容。我们知道,在数据分析过程中(本文特指词云生成),原始文本内肯gong'nen定会存在大量干扰信息。举个例子,文本中的标点符号、助词、无关的数字等等这些内容,如果显示在词云中,是毫无意义的。这时候,我们就需要将这些干扰因素排除掉,只留下我们感兴趣的内容(即与我们要分析的主题相关的内容),这也是我们制作词云自动生成工具的数据清洗页面要实现的功能。

如何实现这一功能?我们的思路是:首先创建一个排除列表的索引(delwords = []),delwords中纪录Checkbutton的选中状态(选中时为1,未选中为0),然后当点击各种选择按钮时对Checkbutton的状态进行纪录。我们知道,列表可以记录重复元素,但是,本例中对于重复元素,我们不需要进行重复的删除操作,因此,我们再定义一个实际需要删除的字符集合(tdelwords = set()),我们可以将这两个属性的定义记录到类的初始化过程中。

对于Checkbutton控件的内容添加到tdelwords中,我们根据delwords列表中提供的状态信息进行添加,这点很容易理解。但是对于自定义字符如何添加?我们通过获取EntryField的内容,然后将该内容添加到tdelwords中,同时,在下方显示待清洗文本内容。

好了,容器有了,我们现在需要做的就是如何将待清洗的字符放入到容器中(其实,delwords相当于一个筛选器,而tdelwords才是真正的容器)。这点很好实现,请看下面的代码,这里不再赘述。

我们梳理完了这个过程,很好理解,将每一个按钮的响应函数实现,这个过程就一目了然了。下面,带大家编码实现这一过程。

0dd7912397dda144ca1399285690b1a70cf4863b.jpeg?token=844408a695ada5878204f0509139ca2c&s=68E08A475BF6B3CA1C450D830300A083编码开始了

编码

我们主要是实现下面几个函数的功能。

先来看一下比较简单的页面控制功能,函数实现如下图所示。

0eb30f2442a7d9330f2b1dd3586cb01672f001b8.jpeg?token=d55394ad905cd00bf22acd6180209b8e&s=E0C2B7444CABAB72166960AD0200A002页面控制功能实现

然后来实现鼠标单击按钮选择清洗相应的内容,代码分别如下图所示。

c75c10385343fbf2fc4d51fe4259ab8564388fb3.jpeg?token=a887412d1aea8d3a611a2e5d4f4f975b&s=E0F215C4CBE1B960165D4C0E0200E082选择清洗内容按钮

上述选择清洗内容按钮事件响应函数的实现方式比较类似,这里不再赘述,读者可以建立一个函数,通过传入选择类型的参数的方式进行选择,大家自行实现。全选所有字符的实现方法如下图代码所示。

9f510fb30f2442a782988dec3664cc4ed0130295.jpeg?token=258d2fdeb4e48145500714832eb92853&s=E0C095408D840D7058D0598B0200E082全选所有的Checkbutton控件内容

这里只是对选择进行了实现,感兴趣的朋友们可以参照进行反选功能的实现。剩下的三个函数分别实现了添加自定义字符、应用删除、撤销删除的功能,具体代码如下图所示。

a8773912b31bb0519553d198d35dbbb14aede03c.jpeg?token=2aa58481a19ede15167c41a33e938a20&s=E0C2974512F5886C42D53D0E0200F0C0添加自定义字符、应用及撤销删除功能

好了,今天的实现就到这里,通过前几篇的连载内容,我们分别实现了总体界面搭建拥有这件神器,菜鸟也可以成为数据分析大师、获取文本内容拥有这件神器,菜鸟也可以成为数据分析大师(连载二)、清洗文本的界面拥有这件神器,菜鸟也可以成为数据分析大师(连载三)及相应的功能(本篇)。下一步我们对词云设置界面和词云预览界面分别进行实现,感兴趣的朋友们欢迎留言关注,我将持续进行更新。

转载请注明出处,百家号:Python高手养成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值