1. 程式人生 > Python爬蟲入門教學 >17 資料清洗

17 資料清洗

理想中,我們獲取的資料都是一樣的格式,可是現實中,會有許多髒資料,有時候是資料太冗餘,有時候是資料缺失,有時候是同一種類資料擁有不同的資料格式。比如生日,有的人使用阿拉伯數字,有的人使用英文簡寫,有的人則是加入了中文字元。

如果只是簡單的某一列資料問題,我們可以寫一個指令碼進行處理,可是,當資料太複雜,資料量太大,我們自己編寫腳步就太浪費時間和精力了。有沒有什麼視覺化工具,可以像操作Excel表格很方便的對資料進行分類,排序清洗那?有問題,肯定會有解決問題的方案。我們接下來講解的就是資料清洗界的神器 OpenRefine.

OpenRefine 是谷歌一個開源專案,最早這個專案起源於2009年一家叫做Metaweb的公司,後來這個公司被谷歌收購。
OpenRefine 可以方便的清洗資料,並且擁有簡單容易操作的介面,讓即使非計算機科班的人員也可以很方便的使用這個工具進行資料的清洗工作。

1. 安裝 OpenRefine

OpenFine的安裝,就像安裝正常的桌面的軟體一樣,不需要額外設定內容,直接安裝即可。雙擊之後,開啟 OpenRefine。

如下圖所示:

從以上的頁面中,我們可以知道,我們可以匯入本機的 CSV,JSON 或者 Excel等 檔案,也可以直接從網際網路上面進行解析,也可以連線資料庫,以及從黏貼版和 Google Data 中獲取原始資料。

Tips:OpenRefine 預設開啟的 IP 為 127.0.0.1:3333。

2. 簡單的資料清洗例子

這裡我用一組測試資料進行演示簡單的操作。首先,在匯入原始資料之後,點選 create project 來建立工程。

接下來,我們選擇需要進行清洗資料的列,點選上面的向下的箭頭,在彈出的選單中選擇 facet 接下來選擇 Text facet。

在頁面的左邊的浮框中,我們可以看到有許多組不同的資料,這裡我們發現 Altbeir 和 Altbier 是同一個資料,其中 Altbeir 是拼寫錯誤的單詞,其實也就是我們常說的髒資料,我們需要將它合併到 Altbier中。

我們在單詞旁邊單詞 edit 按鈕,然後點選edit進行編輯,接下來點選apply。

最後,我們看到資料被歸併到一起了,髒資料被清洗掉了。

3. 小結

上面演示的只是清除髒資料的最基本操作步驟,我們還可以對資料進行排序,以及通過正則表示式來篩選資料,也可以讓軟體智慧地為我們推薦一些該歸併的單詞。總之,OpenRefine 已經成為資料清洗方面的主流軟體,大家平時需要的功能都可以通過這款軟體進行操作,方便而又快捷。