资源描述
数据清洗大数据应用人才培养系列教材第四章常用数据清洗工具及基本操作 4.1 Mic ro so ft Exc el数据清洗基本操作】4.2 Ket t l嗔介及基本操作4Q Open Refine简介及基本操作 汽勺口/2/219拈匚简介及基本操作4.5 Haw k介及基本操作4.6 上机练习与实训习题第四章常用数据清洗工具及基本操作4.1 Mic ro so ft Exc el数据清洗基本操作4.1.lExc el数据清洗概述Mic ro so ft Exc el是微软公司Mic ro so ft Off ic e系列办公软件的重要组件之一,是一 个功能强大的电子表格程序,能将整齐而美观的表格呈现给用户,还可以将表格中的数 据通过多种形式的图形、图表表现出来,增强表格的表达力和感染力。Mic ro so ft Exc el 也是一个复杂的数据管理和分析软件,能完成许多复杂的数据运算,帮助使用者做出最 优的决策。利用Exc el内嵌的各种函数可以方便地实现数据清洗的功能,并且可以借助过 滤、排序、作图等工具看出数据的规律。另外,Exc el还支持VBA编程,可以实现各种更 加复杂的数据运算和清理。作为一款桌面型数据处理软件,Exc el主要面向日常办公和中小型数据集的处理,但在面对海量数据的清洗任务时却是难以胜任的,即使是小型数据集在使用前也存在需 要规范化的问题,因此,通过在Exc el中进行数据清洗的实践操作,有助于帮助读者理解 数据清洗的概念和知识,并掌握一定的操作技巧,为后面进行大数据集的清洗打好基础。4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作1.Exc el数据清洗相关操作主要针对与数据清洗密切相关的操作和注意事项做简要介绍数据分列快速定位和快速填充3Exc el中的数据类型和数据格式Q4.1 Mic ro so ft Exc el数据清洗基本操作 第四早吊用数鲁黑洗八及本1数据分列在利用Exc el进行数据处理过程中,常会遇到1列单元格中的数据是组合型的情况,即粒度过大,如2017-03-25 Sat urday 18:22,包含日期、星期和时间3个部分,如 图4-1所示。需要将之拆分为独立的3列,这时就可以采用分列功能实现,操作步骤为:步骤1:选定要进行分列的数据,如图4-2所小。A B C1 需要进行分列操作的数据2 J 2017-3-20 Monday 10:113 J 2017-3-20 Monday 13:304 2017-3-24 Friday 9:005 2017-3-25 Saturday 21:32678图4-1组合型数据示例然后单击数据工具栏,选择分列,开始 插入 页面布局 应 数据 亩阅 视图晶喻画皿产豳尸豕六褰 获取 全部刷新 L zi排序 籍选。二哥匚韦 分列外薛据,一编辑链接Al 4高级_整 排房瞄选 1B2-(_ A 2017-3-20 Monday lOjllA|B|C1 需要进行分列操作的数据Z O 2017-3-20 Monday 10:113 2017-3-20 Monday 13:304 2017-3-24 Friday 9:005 2017-3-25 Saturday 21:32图4-2选择分列操作Q4.1 Mic ro so ft Exc el数据清洗基本操作 第四早吊用数鲁黑洗八及本步骤2:出现文本分列向导(本向导也可以在选中待分列区域后,按Alt+A+E快捷 键快速打开),如图4-3所示,默认选中分隔符号,单击下一步按钮。步骤3:选择分隔符号,本例中为空格,所以选中空格复选框,选中后,在数据预览的区域里就会显示按照要求分隔后的格式,如图4-4所示,单击下一步 按钮。?x文本分列向导-第1步,共3步文本分列向导判定您的数据具有分隔符。若一切设置无误,清单击“下一步”,否则请选择最合适的数据类型。原始数据类型请选择最合适的文件类型:瞪隔将号迤X-用分隔字符,如逗号或制表符分隔每个字段 o商定蔗蔗面-每列字段加空格对弁预览选定数据:文本分列向导-第2步,共3步清设置分列数据所包含的分隔符号。在预览窗口内可看到分列的效果。分隔符号 Tab键分号但)0连续分隔符号视为单个处理(R)文本识别符号a匕口其而切:数据预览记)?X22017-3-20 Mo n d a y 10:1172017-3-20 Mo n d a y 13:302017-3-24 Fr id a y 9:005 2017-3-25 Sa t u r d a y 21:322017-3-20Mo nday10:112017-3-20Mo nday13:302017-3-24Fri day9:002017-3-25Sat urday21:32取消 I下一步(9)I 完成(E)取消&t一步 I下一步)I 完成但)图4-3文本分列向导第1步图4-4文本分列向导第2步Q4.1 Mic ro so ft Exc el数据清洗基本操作 第四早吊用数鲁黑洗八及本步骤4:设置分列后各列的数据格式,根据实际情况而定,这里设为文本格式,选中文 本单选按钮,如图4-5所示。步骤5:设置分列后,还可设置数据存放的区域,如图4-6所示,单击完成按钮。文本分列向导-第3步,共3步使用此屏内容可选择各列,并设置其数据格式。列数据格式 O常规 发本91o 日期(B):YMDO不导入此列(跳过)(工)施雅舞麟鳏霰孵数字曰期值会转换成高级&).目标区域(Z):$B$2 数据预览记)2017-3-202017-3-202017-3-242017-3-25常规_ Mo nday Mo nday Friday Sat urday文本 10:11 13:30 9:00 21:32取消 上一步(2)I完成3)B I C D E需要进行分列操作的数据2017-3-20 Monday 10:11:2017-3-202017-3-24 F2017-3-25文本分列向导一步骡1供3步)?X使用此屏内容可选择各列,并设置其数据格式。列数据格式暖蠹 施规超城藕翳髅野数字日期值会转换成OBM(D):YMD 0 高级O不导久此列(跳过)(D目标区域(E):=$c$2:$E$2|数据预览但)友本 常规 文本Mo n d a y Mo n d a y?r i d a y Sa t u r d a y10:1113:309:0021:32取消 L上一步(R)I完成IG7XC30,如果实际情况是TRUE,那么IF函数就返回第二个参 数的值;如果是FALSE,则返回第三个参数的值。IF函数常常用来检查数据的逻辑错误,如使用二分法的多选题录入时,出现了 1和。以外的数字,可以通过如下设置,过程如图4-19所示:步骤1:选中数值区域一格式一条件格式一公式。步骤2:输入公式,设置格式。图4-19数据逻辑错误检查第四章常用数据清洗工具及基本操作4.1 Mic ro so ft Exc el数据清洗基本操作NOW函数根据计算机现在的系统时间返回相应的日期和时间。TODAY 函数则只返回日期。NOW函数和TODAY函数都没有参数。语法结构如下:=NOW()=TODAY()TODAY函数常用来计算过去到今天总共有多少天的计算上。例如,项目到今天总共进行多少天了?在一个单元格上输入开始日期,另一个单元格输入公式减去TODAY得到的 日期,得出的数字就是项目进行的天数。请注意可能需要更改单元格的格式,才能正确显示所需要的日期和时间格式。H LOOKU P函数和VLOOKU P函数都可以用来在表格中查找数据。所谓的表格是指用户预先定义的行和列区域。具体来说,HLOOKUP返回的值 与需要查找的值在同一列上,而VLOOKUP返回的值与需要查找的值在同一行 上。两个函数的语法结构是:=HLOOKU P(查找值,区域,第几行,匹配方式)=VLOO KU P(查找值,区域,第几列,匹配方式)这两个函数的第一个参数是需要查找的值,如果在表格中查找到这个值,则 返回一个不同的值。4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作)ISNUMBER函数、ISTEXT函数和ISLOGICAL函数这3个函数的功能是判断Exc el的数据类型,ISNUMBER函数判断单元格中的值是否 是数字,ISTEXT函数判断单元格中的值是否是文本,ISLOGICAL函数判断单元格中的 值是TRUE或FALSE,这3个函数的返回值均为TRUE或FALSE。语法结构是:=ISNUMBER(value)=ISTEXT(value)=ISLOGICAL(value)MAX函数和MIN函数是在单元格区域中找到最大和最小的数值。两个函数可以拥有30个参数,参数还可以是单元格区域。两个函数的语法结构是:=MAX(numberl,number2,.)=MIN(numberl,number2/.)使用一个单元格区域的语法结构:=MAX(A1:A12)使用多个单元格区域的语法结构:=MAX(A1:A12Z B1:B12)4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基 本操作56Cl&=COUNTIF(A$1:A1,A1)ABcmy memory1|1_11j t rad o s插件 扩展功能I1t ranslat e,c o m rainbo w叶g o o g le reader,11网站lo c alizat io n w o rks11软件本地化11T T-r n 口为各渊 犹会Bl=COUNTIF(A:A,A1)寻找重复值;Cl=COUNTIF(A$1:A1,A1)筛选出所有非重复项(筛选出1即可)。图4-20寻找重复值和非重复值10一般用半角符号1111Undo-撤错(U)21i12Undo-热销(U)2213Ct rl shi ft E2114Ct rl shi ft E2215图片 右 it upddle fruni file2116图片 右 it updat e fruni file2217ezParse-t ext based file-t xt11 1.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作3.Exc el数据清洗操作的注意事项同一份数据清单中避免出现空行和空列;数据清单中的数据尽可能细化,不要使用数据合并;构造单行表头结构的数据清单,不要有两行以上的复杂表头结构;单元格的开头和末尾避免输入空格或其他控制符号;在一个工作表中要避免建立多个数据清单,每个工作表仅使用一个数据清单;当工作表中有多个数据清单时,则数据清单之间应至少留出一个空列和一个 空行,以便于检测和选定数据清单;关键数据应置于数据清单的顶部或底部;对原始工作表做好备份,在执行完所有的清洗操作并确认无误后再复制到原 始表中。4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作4.1.2Exc el数据清洗现有一个企业招聘职位信息的数据集,约有5000条数据,客户提出需要了解数据分 析师岗位情况,包括岗位分布和特点、能力要求、工资和薪酬等。由于数据集没有经过 处理,所以表中的数据还很不规范,含有大量数据重复、缺失、单列数据粒度过大等问 题,因此,在进行数据分析前,需要进行数据清洗操作,以使数据规范化。下面介绍执 行数据清洗的主要过程。4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作1.数据预览拿到数据后,不要急着动手处理,先对数据集做总体的观察。如图4-21所 示,可以看到,数据集表头由城市、公司名称、公司编号、公司福利、公司规 模、经营区域、经营范围、教育程度、职位编号、职位名称、薪水和工作年限 要求等属性组成。市每每图每每每每每每每图每每每每每卷每每旬 城上上上上上上!上上上上上上!上公司名称 公司编号公司福利上海飞牛集达电子商务彳 27476技能培训,上海怡科信息科技有限!729435842 五险一金,上海创塔电子科技有限;上海淇骄信息科技有限1 上海七牛信息技术有限匕 上海保橙网络科技有限匕 德佑房地产经纪有限公另 北京和讯在线信息咨询 上海数亮信息科技有限匕 上海葡萄纬度科技有限2 上海吾游信息技术有限;星环信息科技()i 上海宏路数据技术股份彳 上海向右网络科技有限匕 通联数据股份公司析数软件(上海)有限 上海德狗信息技术有限4 北京东方国信科技股份彳 上海森亿医疗科技有限 杭州财米科技有限公司13018863 专项奖金,142041 年底双薪,4832年底双薪,37984 节日礼物,35713 技能培训,73284 年底双薪,154701专项奖金,82229 股票期权,31529 股票期权,27962五险一金,24102绩效奖金,117503 技能培训,21218 五险一金,15549412699616875 大数据软件135284 年底双薪,4448年底多薪,公司规模 节E 2000人以上 免替 500-999 股第50T50人 股票500-2000人 节 E150-500人 年度15-50人 带薪2000人以上 五睑50T50人 股票少于15人 带薪500-2000人 美女150-500人 年底150-500人 五险50T50人 午餐15-50人 通讯150-500人15-50A150-500人技2000人以上 带薪15-50人 岗位500-2000人经营区域 经营范围教育程度共和新路,汶水移动互联区本科浦东新区 移动互联区硕士闵行区 教育,招聘本科洋泾,陆家嘴,移动互联本科移动互联区不限 金融 本科 企业服务本科 移动互联网硕士北新深 企业服务,本科移动互联区不限世纪公园,联洋移动互联网本科漕河羟 数据服务 本科移动互联区硕士东方路,潍坊,移动互联区本科四川北路,七浦金融 本科人民广场 企业服务,硕士 金沙江路,长风电子商务,大专虹梅路,田林,数据服务 本科张江 数据服务,硕士世纪公园花木移动互联优不限职位编号职位名称 职位标签薪水2221706 BI数据分析师企业软f 10k-20k 2028702软件工程师,工程师6k-8 k2483038数据分析师(专分析师5k-8 k 2421228数据分析,数据分tl 15k-25k2159585 数据处理&数据15k-30k 2313125数据分析师 分析师5k-10k2337148行业分析师 商业,7k-14 k2481485(大数据)BI分仙大数据3k-6k 2521310金融大数据分tf 分析师9k以上 2576049数据分析专员,数据,13k-26k 1151725数据工程师 数据6k-10k2466097大数据实习生,大数据2k-4 k 1890134大数据工程师大数据15k-30k 1562586分析师 分析师5k-8 k2427310数据规划-上海数据7k-14 k 2539927大数据工程师大数据10k-l5k 1970648数据专员(欢也,数据3k-5k 2093510大敦据开发工毡大威据,6kT2k 2410946临床数据专家数据10k-20k947128数据分析师(与分析师2k-3k工作年限要求1-3年应届毕业生旭弹限限限限限限限限限限限限限限限限 L L科啊和科科科科科科科科科科科科科图4-21招聘信息数据集第四章常用数据清洗工具及基本操作4.1 Mic ro so ft Exc el数据清洗基本操作数据整体较为规整,但通过初步观察,该数据集主要存在如下问题:(1)数据缺失(2)数据不一致(3)存在脏数据(4)数据不规范 4.1 Mic ro so ft Exc el数据清洗基本操作第四章常用数据清洗工具及基本操作2.进行数据清洗(1)清洗薪水数据(2)分列操作(3)搜索替换不一致大数据应用人才培养系列教材第四章常用数据清洗工具及基本操作4.1 Mic ro so ft Exc el数据清洗基本操作4.2 Ket t le简介及基本操作4Q Open Refine简介及基本操作 汽勺口/2/219拈匚简介及基本操作4.5 Haw k介及基本操作4.6 上机练习与实训习题4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作大数据技术中,数据清洗的前期过程可简单地认为就是 ETL的过程。ETL(Ext rac t-Transfo rm-Lo ad)负责将分散 的、异构数据源中的数据如关系数据、平面数据文件等抽 取到临时中间层,进行清洗、转换、集成,最后加载到数 据仓库或数据集市中,作为联机分析处理、数据挖掘提供 决策支持的数据。在整个数据仓库的构建中,ETL工作占整 个工作的50%70%,是构建数据仓库的重要一环,用户 从数据源抽取所需的数据,经过数据清洗,最终按照预先 定义好的数据仓库模型,将数据加载到数据仓库中。本节 介绍一款开源的ETL工具一Ket t le。4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作4.2.1 Ket t le软件概述1.Ket t le简介Ket t le是一款国外的开源ETL工具,也 是世界上最流行的开源商务智能软件 Pent aho的主要组件之一,中文名称叫水 壶,主要用于数据库间的数据迁移,商业 名称PDI,纯Java编写,可跨平台运行,主要作者为Mat t。2005年12月,Ket t le 成为开源软件。Ket t le使用图形界面进行可视化的ETL 过程设置操作,以命令行形式执行,支持 非常广泛的数据库类型与文本格式输入和 输出,支持定时和循环,实现了把各种数 据放到一个壶中,并按用户的要求格式输 出,具有可集成、可扩展、可复用、跨平 台、高性能等优点,目前在国内外大数据 项目上有广泛的应用。Ket t le软件主要由4个组件组成:Spo o n、Pan、Chef和Kit c hen。3 Spo o n是一个图形化界面,用于设计ETL转换过程(Trans fo rmat io n)oPan曲量运行由Spo o n设计函ETL转换,是一个后台执行的程序,没有图形界面。L;Chef用于创建任务(Jo b)。通过允许 每个转换、任务、脚本等,进行自动化更新数 据仓库的复杂工作。Kit c hen也是一个后台运行的程序,功 能是批量使用由Chef设计的任务。4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作2.Ket t le软件下载和安装Ket t le软件的下载地址为ht t p:so urc efo rg e.ret/pro j ec t s/pert aho/files,为 方便使用,建议下载稳定版本4.4.0,即下载文件Dat a Int eg rat io n/4.40-syable/pdi-c e-4.4.0-st able.zip,本书主要介绍Ket t le在Windo w s环境下的安装、配置 和使用。由于软件基于Java环境运行,所以安装前先要配 置Java运行环境,要注意Ket t le版本和Java版本的匹配,这里需要安装的Java版本为1.7.0_79。解压下载的文件,在解压的文件夹里,可以套到 Ket t le的启动文件Ket t le.exe或Spo o n.bat。双击运行,就可以看到Ket t le的开始界面,显示软件相关版本信息 与GNU相关协议说明,如图4-30所示。?ent aho-powerful Analytics made easyPent aho Dat a Int eg rat io nSt able Release-Versio n 4.4.0Copynght(C)2007-2017 Pentako Corporation.All rights reservedboensed under the Apache Lcense.Version 2.0(the T.c*ns).you may not use this application and sM fites except m compkance with the License.You may obtain a copy of the License athttp aw#apache org.bcenses-LICENSE-2.0Unless required by appbcable la*or agreed to in writing,50fMare dtstnbuted under the License ts distributed on an AS IS BASIS.WIT HOUT WARRANT IES OR CONDIT IONS OF ANY KIND,ether express or imples.Se the bcense for the specific anguage governpermssions and fimitabons under the License图4-30 Ket t le开始界面4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作3.Ket t le软件界面显示开始界面后,Ket t le会弹出资源库连接(Repo sit o ry Co nnec t io n)对话框,可以输入特定资源 库的用户名和密码完成登录,如图4-31所示。登录时单击Canc el按钮即可进入Ket t le,此时所定义的转换和工作是以XML文件方式存储在本地磁 盘上,以.kt r和.kj b作为后缀名。若使用资源库登录,则所有定义的转换和工作将会存储到资源库里,资 源库即数据库,例如SQL Server数据库,里面存储了Ket t le定义的元素的相关元数据库。资源库创建完 毕,其相关信息将存储在repo sit o ries.xml文件中,它位于默认ho me目录的隐藏目录ket t le中。如果是 Windo w s系统,该路径为C:Do c ument s and Set t ing s.ket t le0进入Ket t le设计界面,弹出Spo o n提示信息对话框,直接单击关闭按钮,如图4-32所示。场Spo o n提示信息 X提示When desig ning a t ransfo rmat io n(o r j o b)yo u c an define a new ho p bet w een 2 st eps by using t he middle o r sc ro llw heel but t o n.Middle-c lic k o n t he first st ep and drag o nt o t he sec o nd.Yo u c an also:-use SHIFT+Clic k and drag fro m o ne st ep t o ano t her-Selec t 2 st eps and rig ht c lic k o n o ne o f t hem,t hen selec t new ho p Drag Ho ps o nt o t he c anvasSho w t ips at st art up?0关闭(C)下一号示信息图4-32 Spo o n提示信息 图4-31资源库连接对话框4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作Ket t le设计界面如图4-33所示,按数字标识顺序,各主要功能为:Ket t le软件的菜单栏;Ket t le软件的快捷工具栏;透视图功能,包括数据集成、模型和可视化3个组件;在使用Ket t le时所涉及使用到的对象;Ket t le中所有的组件;根据选择或者显示相应的结果;Ket t le设计界面。X图4-33 Ket t le设计界面第四章常用数据清洗工具及基本操作4.2 Ket t le简介及基本操作4.2.2 Ket t le基本操作Ket t le的主要功能是用来转换或者抽取数据,即ETL。Ket t le提供了资源库的方式来整合所 有的工作,如图4-34所示为Ket t le的概念模型。一个数据抽取过程主要包括创建一个作业,每 个作业可以包括多个转换操作。转换主要是操作数据库,由编写和执行SQL语句、配置数据库 地址等一系列步骤构成。一个完整的作业包括开始、作业、成功3个节点,针对作业进行编辑,选择作业所调用的转换,在转换中可以配置查询操作、更新操作或者插入操作等。上述操作均 可使用软件中的工具执行,也可以通过编写程序调用的方式来实现。执行图4-34 Ket t le概念模型4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作1.转换(t ransfo rmat io n)转换主要是针对数据的各种处理,其本质是一组图形化的数据转换配置的逻辑结构,一个转 换由若干个步骤(St eps)和连接(Ho ps)构成,转换文件的扩展名是.kt r。如图4-35所示的 转换例子,是一个从文本文件中读取数据、过滤、排序,然后将数据加载到数据库的过程。空操作(什么也不做)图4-35 Ket t le转换实例4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作(1)步骤转换的构建模块,如一个数据文件的输入或一个表的输出就是一个步骤。按不同的功能分类,Ket t le中的步骤主要有输入类、输出类和脚本类等。每种步骤用于完成某种特定的功能,通过 配置一系列的步骤就可以完成相关的数据转换任务。(2)连接数据的通道,用于连接两个步骤,实现将元数据从一个步骤传递到另一个步骤。构成一个转 换的所有步骤,并非按顺序执行,节点的连接只是决定了贯穿在步骤之间的数据流,步骤之间 的顺序并不是转换执行的顺序。当执行一个转换时,每个步骤都以其自己的线程启动,并不断 地接收和推送数据。在一个转换中,所有的步骤是同步开启并运行的,所以步骤的初始化顺序是不可知的。因此 我们不能在第一个步骤中设置一个变量,并试图在后续的步骤中使用它。一个步骤可以有多个 连接,数据流可以从一个步骤流到多个步骤。4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作2.作业(Jo bs)作业是比转换更高一级的处理流程,基于工作流模型协调数据源、执行过程和相关依赖性的 ETL活动,实现了功能性和实体过程的聚合,作业由作业节点连接、作业项(Jo b Ent ry)和作 业设置组成,作业文件的扩展名是Mb。一个作业中展示的任务有从FTP获取文件、核查一个数据库表是否存在、执行一个转换、发 送邮件通知一个转换中的错误等,最终的结果可能是数据仓库的更新等。4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作4.2.3 Ket t le数据清洗实例操作现有一个关于银华基金的基金名称和基金代码信息的数据集,如图4-43所示。由于原始数据是通过网络爬 虫抓取获得的,所以数据集存在数据错误和重复的问题;另外,抓取的基金名称是字符串型数据,有可能会 出现字符编码的乱码或者字符串后有换行符等问题,所以需要对该数据集做清洗操作,本节介绍利用Ket t le实 现数据清洗的过程。0另存为臬面Action Tools 的助快速访问,下我文档Hawk2.0kettle学习嵌入式系统设计Bulk loading组织,新建文件夹启动Ket t le软件,新建一个转换并保存,如图4-44主对象树:核心对绘931个:数据 data-integratkxi old 名称.kettleData Integration 3 2-bitpp Data Integration 64-bitpp docs launcher lib libext libswt plugins pwdPerspective::5 Data Integraton Model Visualizegdata-integration old fi修改日期2017/5/23 14:09 2017/3/17 22:53 2017/3/17 22:53 2017/3/17 22:54 2017/5/23 14:10 2017/3/17 22:54 2017/5/23 14:10 2017/3/17 22:542017/3/17 22:55 2017/5/23 14:10保存类型(T):一,II h*旨l 10096人隐81文件夹|保存6)|班肖Xo图4-44新建一个转换并保存4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作从左侧输入列表中选择Dat a Grid(行静态数据网格)并拖放到转换设计区,双击打开 设置窗口,引用要读取数据的网址,如图4-45和图4-46所示。图4-45设置读取网址11 ht t p:/w w w.yhfund.c o m.c n/main/q xj j/index.sht.确定(0)预览(P)取消(C)图4-46设置读取网址24.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作再拖入一个Ht t p c lient,通过HTTP调用Web服务,如图4-47所示。选择Ac c ept URL fro m field选项,并选择index作为URL的来源字段。注意字符集的设置,避免后面获取的接口数据 出现乱码。图4-47获取网页源代码4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作再从脚本列表中拖入Mo dified Java Sc ript Value,用于脚本值的改进,并改善界面和性能。在Java Sc ript里写入正则表达式对通过Ht t p c lient组件得来的源代码进行解析,如图4-48和图4-49所示。Java script:&Script 1 三、/定位区域var area=page.match(/sS*?/g)0;area=area.replace(Z s/g,1);/定位行var row=;row=area?area.match(/*?(sS*?)/g):area;/取数据var colu=xfundName=fundCode=;/var data=secInfo:;“尝试把数瑙放到json里,输出失败,可忽略 for(var i=0;i row.length;i+)colui=rowi.match(/*?(sS*?)/g);fundNamei=colui?colui0:null;fundCodei=colui?colui1:nul1;fundNamei=fundNamei?fundNamei.replace(/*?*?/g,1).replace(/g,):fundNamei;fundCodei=fundCodei?fundCodei.replace(/*?/g,1).replace(Z*?/g,):fundCodei;/data.secInfo.push(name:fundNamei,code:fundCodei);/尝试把数据放到json里,输出失败,可忽略)行号:0Compatibility mode?Optimization level 9图4-49解析代码4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作再从转换列表中拖入Split field t o ro w s,用分隔符分隔单个字符串字段,并为每个分割 项创建一个新行,如图4-50和图4-51所示。EDat a Grid HTTP c lientj sTo Ro wersxpAp0lctoptet.ml,!(f wc*4 07.rxl.ksovjSrenr XSLX d。一Split-vry!9 rows I QInclucfle%tepor U*t 1IrvclMcfV ic gl-crr*。7 1 tIr*clod*tirrnv n 1Specify Dt9 tim,forrrH|1Show fil,rT MHS-oufpj,fil-WMt%f r,pj,c vwvtK owtp3 ft I*Wt for fir*t row ctic0 fil*31dd filiEs to resultShre$,witH“rot*ct(XL forrrwitt ocly11 1 4c*。/octod by,PsworlT rrphK,U,Wmpl4t0 wFi-rv crnttoj r4w fil01T emplate 何,tmplAte MiC,-4B*n f*W I 1T.mpl.*.sfw-rt图4-54数据写入Excel设置r这己过c el4.2 Ket t le简介及基本操作第四章常用数据清洗工具及基本操作完成以上步骤之后,在菜单栏中选择Ac t io n-运行命令即可,运行结果如图4-55所示。可以看到,在执行结果中显示了执行的步骤名称、读写次数、处理条目、处理时间和处理速度等信息。最终清洗处理后的数据集如图4-56所示。ABC代码简称ro w numO1180001银华优势企业混合21180002银华保本馆值混合31180003银华-道琼斯88指数4勺19001银华价值优选混合5,180010银华优质熠长混合61180012银华富浴主题混合71183001银华全球优选(QDII-FOF)8,180013银华领先策略混合9,180015银华增强收益债券10,180018银华和谐主题混合111161810银华内需精选混合(LOF)121150019银华锐进131161812银华深证100指数分级14150018银华稳进154执行历史;日志St ep Met ric s 性能图1步骞名称HTTP c lient复制的记录行数 0读1写12j s0123To Ro w 2011174To Ro w011175海查询02341176过滤记录01171177dummy0228银华代码01151159Writ e t o L011511510Dat a Grid001输入0 0000 00 00 0更新 00 00 00 00 00拒绝 0 0 0 0 0 0 0 0 0 0错溟激活0已完成0已完成0已完成0已完成0已完成0已完成0已完成0已完成0已完成0已完成时间 0.5s 0.6s 0.6s 0.6s 0.8s 0.8s 0.8s 0.8s 0.9s 0.0s速度(条记录/秒)Pri/in/o.2-4212212 311 154314412850161813银华信用倭券(LOF)16380020银华成长先锋混合17380025银华信用双利俵券A18180026银华信用双利倭券C19161815银华抗通胀主题(QDII-FOF-LOF)20361816银华中证等权90指数分级2150030中证90A22彳50031中证90B23380028银华永祥保本混合24M50047消费A25M50048消费B26361818银华消费分级混合27350059YH资源A28150060YH资源B29161819银华中证内地资源指数分级30图4-55数据清洗处理设置完成图图4-56清洗处理后的数据集大数据应用人才培养系列教材第四章常用数据清洗工具及基本操作4.1 Mic ro so ft Exc el数据j青洗基本操作Jet t le简介及基本操作4.3 OpenRefine简介及基本操作414 Dat aNrang Ie简介及基本操作4.5 Haw k介及基本操作4.6 上机练习与实训习题4.3 OpenRefine简介及基本操作第四章常用数据清洗工具及基本操作4.3.1 OpenRefine 软件概述1.OpenRefine简介Open Refine最初叫作FreebaseGridw o rks,由一家名为Met aw eb的公司开 发,主要用于调试各种表格,以避免随着时 间的推移出现错误,这对于任何数据库来说 都是一个很大的问题。后来,该软件被谷歌 收购,更名为Go o g le Refine,并发布了第2 版。2012年10月,Go o g le Refine被社区接 管,并以OpenRefine为名进行了开源。Open Ref ine是
展开阅读全文