1.3 数据清洗的常用工具
目前市面上使用的数据清洗工具较多,且各有特点,下面分别介绍。
1.OpenRefine
OpenRefine又叫作GoogleRefine,是一个新的具有数据画像、清洗、转换等功能的工具,它可以观察和操纵数据。OpenRefine类似于传统的Excel表格处理软件,但是工作方式更像是数据库,以列和字段的方式工作,而不是以单元格的方式工作。因此OpenRefine不仅适合对新的行数据进行编码,而且功能极为强大。
OpenRefine的特点有:在导入数据的时候,可以根据数据类型将数据转换为对应的数值和日期型等。可以根据单元格字符串的相似性进行聚类,并且支持关键词碰撞和近邻匹配算法等。
图1-8所示为OpenRefine的工作界面,图1-9所示为OpenRefine读取数据表的界面。
图1-8 OpenRefine的工作界面
图1-9 OpenRefine读取数据表的界面
2.DataCleaner
DataCleaner是一个使用简单的数据质量的应用工具,旨在分析、比较、验证和监控数据。它能够将凌乱的半结构化数据集转换为所有可视化软件可以读取的干净可读的数据集。此外,DataCleaner还提供数据仓库和数据管理服务。
DataCleaner的特点有:可以访问多种类型的数据存储,如Oracle、MySQL、CSV文件等。DataCleaner还可以作为引擎来清理、转换和统一来自多个数据存储的数据,并将其统一到主数据的单一视图中。
图1-10所示为DataCleaner的开启界面,图1-11所示为DataCleaner的工作界面。
图1-10 DataCleaner的开启界面
图1-11 DataCleaner的工作界面
3.Kettle
Kettle是一款国外开源的ETL工具,用纯Java语言编写,可以在Windows、Linux、UNIX上运行,数据抽取高效稳定。它支持图形化的GUI设计界面,而且可以以工作流的形式流转,在数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现。此外,Kettle中有两种脚本文件——转换和作业,转换完成针对数据的基础转换,作业则完成整个工作流的控制。
Kettle的特点有:开源免费,可维护性好,便于调试,开发简单。
图1-12所示为Kettle的转换界面,图1-13所示为Kettle的作业界面。
4.Beeload
Beeload是由北京灵蜂纵横软件有限公司研发的一款ETL工具。集数据抽取、清洗、转换及装载于一体,通过标准化企业各个业务系统产生的数据,向数据仓库提供高质量的数据,从而为企业高层基于数据仓库的正确决策分析提供了有力的保证。
Beeload的特点有:支持几乎所有主流数据接口,用图形操作界面辅助用户完成数据抽取、转换、加载等规则的设计,并且支持抽取数据的切分和过滤操作。
5.其他工具
此外,在进行数据清洗时,还可以使用Excel进行最简单的数据清洗工作。也可以使用编程工具Python来实现数据清洗。在本书的后续章节中,将列举一些使用Python 3进行一部分数据清洗工作的例子,请读者自行安装该软件。图1-14所示为Python 3的工作界面。
图1-12 Kettle的转换界面
图1-13 Kettle的作业界面
图1-14 Python 3的工作界面