一、需求角度

1.使用情景

多组(大量,成百上千条)数据的情况下,给单个数据某一属性的非结构化录入值(尤其是文本信息,如地址等)以相应的关键词打上标签,便于后续的数据透视或相关处理。

2.使用人群

像我一样喜欢偷懒的人。

3.需求

1)核心需求是——对于所有元素的某一属性,提取关键词并以此关键词为标签给该元素打上标签。

这一需求对于常见的结构化录入值包含的某些信息进行处理是非常容易的,可以直接使用Excel的分列工具,固定宽度即可轻松解决。

但是对于非结构化的录入值(尤其是文本信息,如地址等),由于宽度不固定,简单分列虽然比人工一个个标记要快,但是仍无法直接满足需求。因此这里可以引发出几种解决思路:

第一种是利用非结构化数据所具有的一定的结构化特征,分别按照“省、市、区”进行多次分列,直到分出需要的区域,然后再对整个分列后的数据进行整合与处理,实现关键词提取的功能;第二种是使用Excel的内置函数vlookup的模糊匹配模式,先设置好标签,然后进行模糊匹配即可,但是这种模糊匹配的方式并不太准确;第三种是结合正则匹配的思想,使用正则表达式进行匹配,结合Excel自带的编码窗口VBA,编写相应程序进行功能实现;第四种则是通过Python等外部程序语言,打开Excel、读取数据并在Excel外部处理后再写入Excel中,类似于第三种方法。本工具采用了第三种方法,利用VBA编写相应程序实现功能,具体的细节这里不做过多展开。

2)方便、快捷、省力

解放双手:逃离“选定单元格—人工提取关键词—键盘输出”的循环模式,让双手不再酸痛。

解放双眼:让双眼不再时刻盯着屏幕,可以得到休息。

3)省时间

把方法教给用户,把时间还给用户。考虑理想的极端情况,人工条件下1s完成1条数据的处理,900条数据则需要15min,如果能在数秒钟之内完成,可以节省相当多的时间用于其他工作,并且省掉了15min背后需要付出的劳累。

二、产品角度

1.定位

傻瓜式效率提升小工具

傻瓜式——要求使用操作简单,不需要额外精力学习如何使用。

效率提升——快速实现功能,节省时间与精力。

2.产品设计

整个产品包含了代码部分与交互部分(操作部分以及结果展示部分)。

1)代码部分:

核心功能实现+控制功能。满足使用需求,涉及技术问题,此处略过不谈。

2)交互部分:

交互部分涉及到两个问题,如何让用户能够简单地使用,以及如何向用户简洁地展示结果。简洁地展示结果比较容易,因为结果是提取关键词,因此在目标列的右侧插入一列并写入结果即可。当然,由于数据行数过多,为了让用户更直观地知道什么时候能够完成匹配,加入了提示框在匹配完成时进行提示。而让用户能够简单地使用,考虑了两种方式,一是快捷键,二是按钮。两者相较而言选择了按钮的方式,一方面能够提醒用户有这样一个功能,另一方面也能够降低用户的记忆负担,在工具由一个用户传递到另一个用户时,不必告诉他需要什么快捷键才能使用,也不必让他在许久之后再度使用时需要回想快捷键的相关内容,使工具便于迁移与扩散。

三、需求洞察总结

基本上满足了主要的匹配需求以及省时省力、方便快捷的需求。当然也存在一定的问题,例如需要保存为xlsm格式,移动端无法正常使用该功能;将功能从一个表格迁移到另一个表格需要复制代码并粘贴到目标表格的编码窗口,对于不熟悉的用户可能在使用时找不到入口,具有一定的门槛;更换匹配标签需要在代码中修改,封装性较差。同时为了能够实现更广泛的匹配功能,在设计时使用了更加灵活的写法,可以选择任意列作为目标列,在标签作相应调整的情况下理论上可以满足更多的匹配需求,而不仅仅局限于地址匹配。相信在未来有更加多样和更加明确的需求的情况下,这一工具能够具有更完善的功能从而满足更广泛的需求。

python 模糊匹配_Case2:模糊匹配工具相关推荐

  1. Python:利用原生函数count或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)

    Python:利用原生函数count或正则表达式compile.findall.finditer实现匹配统计(包括模糊匹配的贪婪匹配.懒惰匹配) 目录 利用原生函数count或正则表达式compile ...

  2. React中的模糊匹配与精准匹配

    路由的严格匹配与模糊匹配 1.默认使用的是模糊匹配(简单记:[输入的路径]必须包含要[匹配的路径],且顺序要一致)2.开启严格匹配:<Route exact={true} path=" ...

  3. mysql like 贪婪匹配_mysql模糊查询like与REGEXP的使用详细介绍

    前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表 ...

  4. MySQL模糊查询 结果按匹配度 排序

    我们在使用 MySQL 进行模糊查询的时候,受到默认排序的影响,我们会发现与查询关键字相似的记录有时候并没有排到最前面. 如 : CREATE TABLE user(id BIGINT(11) AUT ...

  5. 正则表达式的精确匹配和模糊匹配的写法区别

    精确匹配: 写法: /^(你要匹配的内容)$/ //判断后缀名 //匹配域名后缀的实例 var name1 = /^(art|auto|beer|com|cn|co|cc|chat|club|cool ...

  6. python将学号与成绩匹配_用Python运维网络(1):基础知识

    近日发现一个专栏叫<网络行者>,作者是阿卜杜拉国王科技大学的Senior Network Consultant,读了一下他的<网络工程师的Python之路>系列文章,大受启发, ...

  7. python正则_python中正则匹配

    写代码时候,不管是爬虫,还是获取某些特定的资源,我们需要写正则表达式. 因为不常用,有些语法生疏.有时明明觉得自己的语法可以,可就是不行. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之 ...

  8. 化妆品致敏成分识别——python图像处理之文字识别+匹配

    化妆品致敏成分识别--python图像处理之文字识别+匹配 本文主要探究一个小程序,给定一个化妆品的成分图片,判断其中是否含有致敏成分,帮助敏感肌选择化妆品~(程序质量不够理想,模型仍在调整完善,致敏 ...

  9. python中else与if的匹配原则_匹配规则

    正则表达式的匹配规则是从左到右按规则匹配.我们首先来看如何使用正则表达式来做精确匹配. 对于正则表达式abc来说,它只能精确地匹配字符串"abc",不能匹配"ab&quo ...

  10. python中正则表达式的默认匹配方式为_Python模式匹配与正则表达式

    1.1 不用正则表达式来匹配文本 假设我希望在一个字符串中找到电话号码,电话号码的格式为三个数字,一个短横线,四个数字,一个短横线,四个数字 比如:131-3310-5293和132-2670-986 ...

最新文章

  1. Silverlight Analytics Framework(开源分析框架)
  2. Java新手会遇到的三大误区,一定要避免!
  3. SAP MM MB5T可以用于查询在途库存
  4. 模板or定制网站如何选?
  5. SQL Server数据库中、获得刚插入新记录的自动ID号
  6. Ubuntu下搭建Kubernetes集群(3)--k8s部署
  7. 我居然手写了Spring框架
  8. excel vba 调用webbrowser_VBA 公式与函数
  9. 这两个VHDL的问题终于解决了!
  10. 2016学计算机软件,2016年夏季学期计算机(软件)学院学年论文字数、页数和格式要求.doc...
  11. 开课吧Web:Web前端入行门槛低吗?
  12. 《奇点来临》——阿西莫夫三大定律
  13. 《计算机网络 自顶向下方法》(第7版)答案(第三章)(一)
  14. 玩转BIOS与注册表
  15. 多维数据运算(矩阵乘法)
  16. 迷宫算法总结(总路径数、方法数)
  17. 使用google-jib部署springboot应用到阿里云Serverless kubernetes
  18. egret eui.Scroller 怎么禁止左右或上下滑动
  19. 2022年的网络工程师就业前景解读三个核心转变方向
  20. S50卡AB秘钥的作用,以及控制位的用法

热门文章

  1. 使用grep命令快速定位代码位置
  2. php传引用和全局变量
  3. Win32下对多个的线程句柄的关闭的控制(上)
  4. linux设备驱动之PCIE驱动开发
  5. 三维数据平滑处理_神木市抄数服务多少钱【博通三维】3D打印服务
  6. 查询系统是使用 MBR 还是 GPT 分区 (Windows 和 Linux)
  7. Pulseaudio之模式设置(二十一)
  8. Android Studio解决:Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed
  9. 锁定/解锁bootloader命令
  10. Android Studio使用编译framework.jar