分门别类多种妙招提取混杂数据
2021-07-21俞木发
俞木发
方法1:QQ的OCR识图法
方法1:QQ的OCR识图法通过查看原始数据可以知道,每个人的手机号位数都是11位,可以先在Excel中调整列宽,使得列宽正好可以显示11位数字,这样人名和电话号码就自动分列顯示了。接着启动QQ并打开截图组件,对单元格进行截图,点击截图工具栏的“文”(即屏幕识图工具)进行OCR识别,在右侧的识别结果中,可以看到名字和电话已经实现了自动分离(图2)。
点击QQ识别窗口右侧窗格下的“转为在线文档”按钮,按提示登录腾讯文档后,上述识别的数据就会自动在“腾讯文档”中打开。现在将识别后的数据和原始数据进行核对,对识别错误的数据进行订正后,双击A1单元格,全选内容并复制(图3)。
返回到Excel 2019窗口并新建工作表,然后将A列的数据格式设置为“文本”,这样将上述复制的内容粘贴到工作表后,就完成了数据的分离(图4)。
方法2:Word替换法
我们还可以利用Word 2019的查找替换法来提取数据。通过观察原始数据可以知道,数据类型主要是汉字和数字两大类,因此我们只要在Word中依次对这两类数据进行替换即可。
首先将数据复制到新建的Word文档中,接着依次点击“开始→ 替换”,在“查找内容”处输入“[一-龥]”(不含双引号,下同,即查找所有的汉字),在“替换为”处输入“^p”(即段落标记,可以依次点击下方的“ 特殊格式→ 段落标记”输入),展开“更多”并勾选其下的“使用通配符”,最后点击“全部替换”,这样即可将汉字全部删除,仅保留电话号码(图5)。
完成替换后按下“Ctrl+A”组合键全选数据并复制,接着返回E xc e l并新建工作表,选中B列,将其格式设置为“文本”,再定位到B1单元格并依次点击“开始→ 粘贴→匹配目标格式”。然后选中B列数据,按下F5键打开并选择“定位条件→空值”,最后将选中的空单元格全部删除,这样就可以完成电话号码的提取了(图6)。
姓名的提取则需在图5所示窗口的“查找内容”处输入“[0-9]”(表示查找数字),其他同上,完成替换后粘贴到图6所示的A列并删除空单元格,这样在A、B列就可以分离出名字和电话数据了。如果还要转换为图4所示的格式,那么只要将电话号码复制到名字的后方,接着在C1:C11区域输入01-11,在C12:C22也输入同样的数字,最后以C列为基准排序即可(图7)。
方法3:公式提取法
如果原始数据的格式和字符数是一致的,比如从某竞品网站复制到的信息是类似“商品01订单号139123456789商品02订单号139123456781”的数据,即商品代码+数字,均为7+12=19位字符,现在需要在Excel中将商品名称和订单号分离,首先将数据复制到A1单元格中,定位到B1单元格并输入1,在B2单元格中输入公式“=B1+7”,B3单元格中输入公式“=B2+12”,接着选中B2:B3区域并下拉填充公式(图8)。
继续定位到C1单元格并输入公式“=MID($A$1,B1,7)”,表示以B1中的数字为基准,从第1个字符开始,依次从左到右提取A1数据中的7个字符(即提取“商品01订单号”这样形式的7个字符),继续在C2单元格中输入公式“=MID($A$1,B2,12)”,表示从第8个字符开始,依次提取12个字符(即提取订单号数据),选中C1:C2区域并下拉填充公式,这样就完成数据整理的要求了(图9)。