何不用python_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工具吧。
總結
以上是生活随笔為你收集整理的何不用python_EXCEL数据太“脏”无从下手?何须用python,ETL一分钟搞定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东风解冻雨水来下一句是什么啊?
- 下一篇: 开发小程序多少钱啊?