写点什么

EXCEL 数据太“脏”无从下手?何须用 python,ETL 一分钟搞定

用户头像
智分析
关注
发布于: 2021 年 01 月 20 日
EXCEL数据太“脏”无从下手?何须用python,ETL一分钟搞定

我们日常在处理数据的过程中,总是会遇到各种千奇百怪的数据源,不是这里有重复值,就是那里的数据有缺失,这些“脏数据”不得不花费我们大量的时间去进行清理,让人十分苦恼。造成这些“脏数据”的原因有两个,一是系统默认的数据字段不规范,在导出时经常带有一些不标准的字符,二是人为录入错误,因为在数据的生成过程中,往往会受到人为的干预,比如重复录入、数据类型不一致等等。这些“脏”数据不仅没有价值,还会“污染”其他的数据,增加数据清理的时间,影响数据分析的效率。

我们在 EXCEL 中经常遇到的“脏数据”主要有以下几种:

1、 缺失数据

主要指字段的信息出现了缺失,例如字段里应该录入某些信息的,但是却出现了空白,导致数据缺失的原因有很多种,例如系统问题、人为问题等,这就需要对数据进行补录或者填充其他的信息。

2、 重复数据

数据出现重复值是经常遇到的问题,主要是重复录入导致的,一般处理起来比较简单,只需要在 EXCEL 中去除重复数据即可。

3、 错误数据

    错误数据一般是因为数据没有按照规定程序进行记录而出现的。例如异常值,或者是数据不统一,关于广州的记录有广州、guangzhou。

4、 不可用数据

    有些数据虽然正确但却无法使用。例如字段应录入城市名称的,但是出现了广州天河区这样不规范的字段,则需要用公式对城市的名称进行提取。

   对于以上所描述的各种问题,通常我们可以利用 EXCEL 自身的功能或公式进行清理,但是效率非常低,很多步骤都要靠手工进行操作,而且很多需求没办法实现。VBA 是其中的一种解决办法,通过编写宏代码,可以对不规范的 EXCEL 表格进行自动化的清洗,但是难度较大,一般人不容易入门,而且写代码的过程需花费大量的时间,python 就更不用说了,远水救不了近火。目前最好的解决办法是用微软的 Power Query 组件,这个组件可以实现很多数据清洗的需求,例如逆透视、提取、分组等操作可以轻松完成。


    但是还有比 Power Query 更加给力的清洗工具,那就是 ETL 了。ETL 是一种对数据进行抽取(extract)、转换(transform)、加载(load)的工具,经常用在数据仓库上,数据清洗的功能非常强大,通过简单的鼠标拖拽,便可以快速完成对各种脏数据的清洗工作。ETL 在日常工作中运用的并不是特别广泛,除了中大型企业或者 IT 人员会用到之外,一般人很少会接触到。市场上 ETL 的工具也有很多,类似 datastage、informatica、kettle 等,但不是收费太高就是性能太弱,在这里推荐一款平民化的 ETL 工具:智分析。下面以智分析为模型对 ETL 清洗数据的功能进行介绍。


1、 数据源连接

在数据源的连接上,智分析支持文本、Kafka、关系等五种数据源,既可以直接连接本地的 EXCEL 文件,也可以支持 mysql、阿里云等关系型数据库的处理,只要把数据源的组件拉拽到展示区里,点击数据连接,便可以连接到您的个人数据源。


2、 数据预处理

数据预处理是整个 ETL 处理过程的核心,EXCEL 常见的清洗功能点在这里基本都能找到,例如提供了空值处理、合并、分列等常规功能,还提供了列转行、过滤、JOIN 等高阶功能,性能非常强悍。操作方法也非常简单,只要把这些组件一一拉拽到展示区里,并与数据源连接起来,点击执行,便可以实现数据清洗的效果。


    如果以上的组件还不能满足数据清洗的需求时,有编程基础的同学可以再利用脚本模块继续对数据源进行加工,这里提供了 SQL、PYTHON 两种脚本模块,可以通过编程语言对数据源进行其他的清洗工作。


3、 数据源保存

完成了数据的预处理后,便可以选择数据源的保存方式,智分析提供了 5 中保存方式:关系目标表(覆盖)、关系目标表(追加)、关系目标表(插入或更新)、导出数据到 HDFS、输出到数据集。输出后的数据源可以覆盖原先的数据源,也可以重新建立新表进行保存,保存方式非常灵活和方便。


4、 效果验证

为了验证 ETL 的实际功能如何,我从世界银行下载了一份世界各国的 GDP 数据,并把数据源导进了智分析的 ETL 处理系统,经过几分钟的清洗和加工,这份看起来非常乱的数据被我完美地实现清洗,输出的数据源非常整齐和统一。


未加工数据



经过 ETL 处理后数据

    从上面的模型中可以看出,ETL 在对数据清洗的过程中基本是零代码的,只需通过简单的鼠标拉拽便可以快速实现数据清洗的效果,这对于大部分的职场人士来说,ETL 的功能是非常实用和友好的,不用学习任何代码就可以做到编程语言可以做到的事情,简直是太强大了。如果你经常面对这些“脏数据”而无从下手,那就赶紧去掌握一门 ETL 工具吧。


用户头像

智分析

关注

人人都是数据分析师 2020.12.31 加入

全新一代云端数据分析平台

评论

发布
暂无评论
EXCEL数据太“脏”无从下手?何须用python,ETL一分钟搞定