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

不废话,我们开始吧

准备好了吗,我们开始了

目标

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

分析

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

先来分析一下

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

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

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

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

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

编码开始了

编码

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

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

页面控制功能实现

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

选择清洗内容按钮

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

全选所有的Checkbutton控件内容

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

添加自定义字符、应用及撤销删除功能

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

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

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

  1. python color属性_使用Python制作一个带GUI界面的词云自动生成工具(连载七)

    前几篇向大家介绍了词云自动生成工具(GUI)的详解GUI词云自动生成工具中词云属性设置界面的实现(连载六).通过前面内容我们基本构建出了词云自动生成工具的主要框架.本篇结合tkinter中的filed ...

  2. python制作软件界面_使用Python制作一个带GUI界面的词云自动生成工具(一)

    在现实生活中你可能会遇到这种情况:想知道一篇论文中哪个词语最多,哪些词语最少(以此判断文章的主要内容):想知道一部小说中哪一个人物出现的次数最多(当然,出现次数最多的那个人也不一定是主脚):想知道一部 ...

  3. python界面gui随机生成器_Python 实现的、带GUI界面的词云生成器

    详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率而生成的一幅图像,从而过滤掉大量的文本信息,人们只要扫一眼就能够明白文章主旨,使得数据分析的结果 ...

  4. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo是基于数据库的代码自动生成工具,低代码编程技术的实现,可以零代码自动生成SpringBoot项目工程.生成JavaBean.生成前后端分离的CRUD代码.生成MyBaits的Mapper ...

  5. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  6. mysql javabean 工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.9.0版)...

    TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下: 1.新增对JDK9及以上版本Java环境的支持 2.生成JavaBean更名为生成数据模型并且提供了C#.C++.Gol ...

  7. Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序

    Python实现输入电影名字自动生成豆瓣评论词云图(带GUI界面)小程序 一.项目背景 电影逐渐成为人们生活的不可或缺的一部分,而了解一部电影的可以通过电影评分与大众推荐度,但以上的方式都太过于片面, ...

  8. pythongui登录界面密码显示_用python写一个带有gui界面的密码生成器

    需要用到的库: tkinter:构建gui界面 pyperclip:复制功能 random:生成随机数 string:处理字符串 代码: from tkinter import * import ra ...

  9. python和报表生成工具_报表自动生成工具的原理方法,及热门软件

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

最新文章

  1. 抢红包算法 c语言,红包分配算法,抢红包算法
  2. AngularJS中的指令全面解析(必看)
  3. 寄存器自动化配置通用案例
  4. vista下安装vs2005
  5. iOS开发之指定UIView的某几个角为圆角
  6. Error from server (Forbidden): Forbidden (user=system:anonymous, verb=get, resource=nodes, subresour
  7. HEVC算法和体系结构:预测编码之帧内预测
  8. linux tcp 服务器 c,Linux网络编程篇之Tcp协议介绍, C/S通信及聊天室实现
  9. SQL HAVING 用法详解
  10. Harmony OS — RadioButton RadioContainer单选按钮单选按钮组
  11. Bash终端命令行,使用privoxy将socks代理转成http代理
  12. 用vb6.0编写简易计算机,vb小程序(用vb编写简单小程序实例)
  13. ExoPlayer 源码阅读小记--缓存模块及获取HLS已缓存大小
  14. 再练动态规划——(4)涂抹果酱
  15. wireshark抓取Android手机app的包
  16. Java:String类学习笔记
  17. 力天创见双目客流统计方案
  18. 关于jquery.mloading加载loading效果
  19. 区块链除了炒币,还可以做什么?
  20. 2020年国防科大CS预推免

热门文章

  1. QR分解原理与C实现(一般实矩阵)
  2. 直线拟合的实现步骤和相关算子
  3. c c++ 函数内数组初值_C/C++函数指针与指针函数
  4. 程序清单3.3_bases.c程序_《C Primer Plus》P37
  5. bzoj 4836: 二元运算
  6. 数据结构和算法-001 数组
  7. 开始使用linux的core文件
  8. 推荐一个ASP的内容管理框架(ASP Nuke)
  9. nginx模型概念和配置文件结构
  10. C++回顾day01---C++对C的增强