【資料科學入門】資料怎麼讀?常見檔案格式(二)

陳彥辰
Taiwanese in Data Science
5 min readAug 16, 2020

文/賴佑昇、陳彥辰

資料怎麼讀?常見檔案格式(一)中我們提到了很多關於資料分析常用的檔案格式,接下來我們要說明另一種比較新型的檔案格式 API,並手把手帶大家實際透過 python 操做一次。

以下內容集結了 TWiDS 志工群們的實戰經驗,希望藉由提供初心者入門課程,協助初入「資料科學領域」的新鮮人。

內容將不定期更新,也歡迎大家互相交流。

API

看完了在分析場景下常見的資料格式與簡單的 Python 匯入操作, 我們想再多聊聊另一種擷取開源資料的方式: Open API, 我們將會實際透過真實Covid-19全球資料集開源API,搭配 jupyter 環境來演示如何串接API資料到我們的分析場景中。

初探Open Web API (以Covid-19全球資料集開源API為例) :

首先,我們到網站主頁來簡單瞭解關於此Open API的幾個特色吧! (這也是其他Open API普遍遵循的原則喔!)

from:https://corona.lmao.ninja/
  • Free:
    免費提供大眾使用。只要你有一台能連上網路的電腦, 隨時隨地你都可以存取最新的 Covid19 全球資料並進一步分析。
  • Multi-Source
    說明資料來源,以這份資料集為例,數據的來源為約翰・霍普金斯大學統計、紐約時報等。
  • Up to Date
    資料來源即時更新 (以約翰・霍普金斯大學所開源的數據為例, 其每十分鐘更新一次)。
  • JSON Formatted
    資料提供單位將以 JSON 格式回傳 API 使用者所要求的資料。

深入Open API (以擷取台灣 Covid19 歷史病歷資料為出發點,找尋出合適 API ):

接著我們繼續下滑主頁, 可以看到”CHECK OUT OUR DOCS HERE”的按鈕, 點擊後將進入到 Open API的說明文檔頁面

如下圖可以看到多個 Open API 條列於中, 每個 API 的後方也用了簡短的英文來說明該API所提供擷取的資料。本次我們將以 Johns Hopkins University所提供的 Covid-19 開源數據做為演示 OpenAPI 的範本,也就是圖中被紅框框住的API來演示如何擷取台灣 Covid-19 的病例資料

點擊該 API 後, 我們將看到如下的畫面, 接續點擊右上角的 Try it out 我們就可直接透過瀏覽器來測試該 API 的回傳結果。

根據提示, 我們在以下兩個欄位分別填上 TW , 30 的數值, 其目的是要讓此 API 知道

  1. 我想擷取的國家是: 台灣
  2. 資料覆蓋日期希望從今日回推到30日前

(※你也可以嘗試填上不同的國家代碼與日數間距來觀察不同的結果!)

接著點擊”Execute”, 下方就會自動生成此API的URL網址, 此網址的用途你可以簡單想成「它來幫助你跟開源數據提供商請求你所需要資料」, 後面我們用python來擷取資料時也是用它來跟開源數據提供商打交道喔!

繼續往下滑動, 你將看到伺服器所回傳給你的內容(以 JSON 格式呈現), 這就代表你執行的 API 成功回傳給你你所需要的數據。 仔細觀察回傳的資料結果, 你就可以發現它呈現了近30日台灣的累積感染人數, 累積復原人數, 與累積死亡人數的數值變化資料。

測試我們所需的 API 可以正確地擷取資料後, 接著就輪到 Python 登場拉, 現在我們希望透過 Python 跟第三方套件來使用此 Open API, 以實現一個能擷取此開源數據的程式專案!

程式實作

首先到 jupyter 上創建 Python3 的新專案,接著進行如下操作(各步驟與程式碼皆附詳細註解), 即可把台灣近 30 日的 Covid19 資料擷取到我們的分析場景中囉

後續該如何做分析或資料視覺化 就留待我們之後的文章來說明囉~

謝謝你花時間閱讀完,希望對你有幫助。

如果喜歡這篇文章,可以幫我們拍手 👏 👏👏 50下,並且follow我們的最新文章,支持我們繼續努力! (找找左側或左下角 “拍手符號👏”,長按可以連拍50下喔)

--

--