R、Python、OpenRefine採集pdf數據,清理數據和格式化數據

原文連接:http://tecdat.cn/?p=8076

獲取,清理和格式化數據

 

在本文中,咱們將介紹一些技巧和竅門,這些技巧和竅門用於在線查找所需數據,將其存儲到計算機上以及如何識別和清除「髒」數據。咱們還將回顧一些常見的數據格式,以及如何從一種轉換爲另外一種。python

咱們今天將使用的數據

 gdp_percap.csv 世界銀行關於1990年至2016年國家和國家集團人均國內生產總值(GDP)的數據,以當前國際美圓計價,並根據不一樣地區的購買力進行了校訂。算法

  • ucb_stanford_2014.csv2014年從UC Berkeley和斯坦福大學得到的聯邦政府撥款數據可從USASpending.gov下載。
  • wr_50m_sept_6_2018.pdfPDF,其中包含來自國際泳聯,游泳和其餘水上運動國際聯合會的最新世界游泳記錄。

 

 

搜索在線數據庫

能夠在線搜索許多重要的公共數據庫,有些提供下載查詢結果的選項。這些數據庫中的大多數都提供一個簡單的搜索框,但始終值得尋找高級搜索頁面,該頁面將提供更多選項來自定義搜索。例如,這裏是ClinicalTrials.gov高級搜索頁面:數據庫

當您開始使用新的聯機數據庫時,請花一些時間來熟悉其搜索的工做方式:閱讀幫助或常見問題解答,而後運行測試搜索以查看得到的結果。 編程

 

還要找出數據庫是否容許「通配符」,例如*%能夠放在搜索中的通配符,以得到帶有單詞或數字變化的結果。瀏覽器

  

從網上抓取數據

有時,您須要根據散佈在一系列網頁中的信息或在不容許簡單下載數據或訪問API的數據庫中維護的信息來編譯本身的數據。這就是Web抓取的地方。編程語言

使用RPython之類的編程語言,能夠編寫腳原本從許多網頁提取數據,或者查詢Web搜索表單以逐段下載整個數據庫。測試

 咱們已經經過操做Web搜索表單上的url並_批量_下載各個連接來執行Web抓取的某些元素。優化

PDF:數據 

一些組織堅持將數據提供爲PDF,而不是文本文件,電子表格或數據庫。這使得數據難以提取。儘管您始終應該以更友好的格式(最好是CSV或其餘簡單的文本文件)來請求數據, 有時可能會發現本身須要從PDF中提取數據。編碼

能夠從數字PDFS中的表中提取數據。 url

啓動 時,它會在Web瀏覽器中打開。可是,您加載到程序中的全部數據都將保留在計算機上-不會在線發佈。  

導入PDF後,突出顯示第一張表中顯示男子我的記錄的部分單擊Preview & Export Extracted Data以查看提取的數據:

 

識別髒數據

在理想的世界中,咱們找到的每一個數據集都會通過精心策劃,使咱們可以開始分析和可視化,而沒必要擔憂其準確性。

可是,實際上,一般最好的可用數據都有一些缺陷,可能須要儘量地加以糾正。所以,在開始使用新數據集以前,請將其加載到電子表格或數據庫中,並查看常見錯誤。例如,這裏是來自BMIS數據庫的記錄示例,其名稱包括非字母字符,這顯然是錯誤的:

 

一些字段提供了一些明顯的檢查:例如,若是您看到的郵政編碼少於5位,則知道它必定是錯誤的。

日期也可能輸入錯誤,所以值得掃描那些不在數據範圍以內的日期。

還要掃描表明連續變量的字段中的數字,以查找任何明顯的異常值。 

其餘常見問題是某些條目先後的空白,可能須要將其刪除。

使用Open Refine清理和處理數據

在許多數據新聞項目中,檢查和清除「髒」數據以及將數據處理爲所需的格式多是最耗費人力的部分。可是,Open Refine(之前稱爲Google Refine)能夠簡化任務-還能夠建立可複製的腳本,以對必須以相同方式清理和處理的數據快速重複該過程。

啓動Open Refine時,它將在Web瀏覽器中打開。可是,您加載到程序中的全部數據都將保留在計算機上-不會在線發佈。

打開屏幕應以下所示:

將數據從寬格式轉換爲長格式

單擊Choose Files按鈕並導航到文件gdp_percap.csv。單擊Next>>,而後在下一個屏幕上確保Parse cell text into numbers, dates,...已選中

Open Refine以綠色顯示數字和日期,以黑色顯示整個文本。所以,選中此按鈕應該使數字變爲綠色。Open Refine還應該識別數據在CSV文件中,可是若是不是,則可使用底部的面板爲數據指定正確的文件類型和格式。

 屏幕如今應以下所示:

如您所見,數據是寬格式的,按區域組織了各地區的石油產量值,每一年一次。要將其轉換爲長格式,請單擊這些年的第一列中的向下的小三角形,而後選擇Transpose>Transpose cells across columns into rows

以下所示填寫對話框,確保正確地將From ColumnTo Column突出顯示,併爲Key columnValue column指定了適當的名稱,並進行了Fill down in other columns選中。 

單擊Transpose,而後單擊50行連接,以查看調整後的數據的前50行:

單擊右上角的Export按鈕,您將看到用於以各類文件類型(包括Comma-separated valueExcel電子表格)導出數據的選項。

清理和處理髒數據

單擊左上角的「打開優化」 以返回到打開屏幕。從文件建立一個新項目ucb_stanford_2014.csv

一樣,每一個字段/列都有一個帶有指向下方的三角形的按鈕。單擊這些按鈕,您將得到爲列建立「構面」的選項,這提供了一種強大的方式來編輯和清除數據。

AllOpen Refine中的列下拉菜單可用於刪除不須要的列並快速記錄要保留的列。選擇Edit Columns>Re-order / remove columns以彈出此對話框:

可是,在這裏咱們將保留全部數據。

咱們能夠手動進行編輯,可是要說明Open Refine的編輯功能,請單擊Cluster按鈕。在這裏,您能夠嘗試使用不一樣的聚類算法來編輯:

相關文章
相關標籤/搜索