EXCEL資料太“髒”無從下手?何須用python,ETL一分鐘搞定

hxc979891發表於2021-01-20

   我們日常在處理資料的過程中,總是會遇到各種千奇百怪的資料來源,不是這裡有重複值,就是那裡的資料有缺失,這些“髒資料”不得不花費我們大量的時間去進行清理,讓人十分苦惱。造成這些“髒資料”的原因有兩個,一是系統預設的資料欄位不規範,在匯出時經常帶有一些不標準的字元,二是人為錄入錯誤,因為在資料的生成過程中,往往會受到人為的干預,比如重複錄入、資料型別不一致等等。這些“髒”資料不僅沒有價值,還會“汙染”其他的資料,增加資料清理的時間,影響資料分析的效率。

我們在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工具吧。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980489/viewspace-2751424/,如需轉載,請註明出處,否則將追究法律責任。

相關文章