【開放資料應用新手班 01】如何使用放在 Github 上的開放資料

zoelee
READr
Published in
Jan 6, 2021

這篇文章想要告訴你的是:

  • 我沒有用過 Github,上面的資料到底要怎麼使用?
  • READr 為什麼要用 Github 開放資料?

READr 是一個以開放、開源、協作為核心精神的媒體,每次做完報導都會開放資料,例如在 READr 的 Github 上已經有超過 20 個資料集,在 READr 首頁的「開放資料庫」區域也可以看到我們隨著報導開放的資料,以及他人的應用成果。

這些資料集有些是報導製作時使用的一次性資料,有些是持續更新的資料集,例如 READr 到現在一直都有在更新台灣武漢肺炎的確診病例資料喔!而且是每天隨著疾管署的最新進度更新!

這是 READr 持續有在更新的武漢肺炎病例資料。

但沒有用過 Github 的人可能會覺得怕怕的,不知道這個資料要怎麼下載來使用。是不是一定要加入會員?還是要寫 code 才能抓下來?Excel 可以開嗎?以下透過兩個簡單的方法教大家怎麼使用這些資料。

1. 直接下載

可能大家比較常使用的資料處理軟體,還是 Excel、Numbers 或是 Google Spreadsheet。READr 上傳的檔案通常都是 csv 檔,你可以直接下載到電腦裡,就可以用這些軟體開啟。

下載方式有兩種,一種是直接下載檔案:

進到該份資料後,對「Raw」按鈕按右鍵,選擇「下載連結檔案」就可以將這份檔案存到你想存的地方了。

對「Raw」按鈕按右鍵,會出現下載連結檔案的選項。

第二個是回到資料夾(readr-data),點擊綠色「Code」按鈕,會有下載整個資料夾的選項。不過因為我們的檔案很多,如果只有單一檔案的需求,還是建議用第一種方案。

回到資料夾(readr-data),點擊綠色「Code」按鈕,會有下載整個資料夾的選項。

下載到電腦後,你就可以用你喜歡的軟體打開這些檔案了!

用 Excel 打開檔案。

2. 使用實時更新的資料

以台灣武漢肺炎確診病例為例,READr 一直有在持續更新。如果你也想要跟著拿到最新的資料,不用每天都跑來下載一次喔!讓我們用 Google spreadsheet 來幫助你:

首先,回到 Github 的資料頁。一樣要找「Raw」這個按鈕,但這次不是點右鍵,就直接(左鍵)點擊它。

直接點擊 Raw 這個按鈕。

接著就會出現恐怖的畫面(欸不是)

這就是這個檔案的原始內容,檔案格式 csv 的意思是「以逗點(comma)分隔(spread)值(values)」的文字檔案,所以這個檔案原始的樣子,就是用逗點分隔所有欄位。當你把這份資料用 excel 或其他可讀取表格類檔案的軟體開啟時,軟體會自動幫你把它變成一格一格的樣子來呈現。

進到這個頁面後,請你把這個頁面的網址複製下來,以這份資料為例,就是這個網址https://raw.githubusercontent.com/readr-media/readr-data/master/covid-19/covid19_comfirmed_case_taiwan.csv)。

再來,在 Google spreadsheet 新增一個檔案,在第一格內容打上「=importdata」。

輸入 =import 會出現各式各樣匯入資料的方式。這次我們選擇 importdata。透過網址將 csv 檔案匯入。

將剛剛從 Github 的 Raw 複製下來的網址貼到函式裡。

搭啷!資料就自動匯入了。

你就可以使用 spreadsheet 內建的所有功能來做統計與分析。例如很好用的資料透視表(樞鈕分析表),輕鬆按幾個鍵就可以很快地分析這份資料,例如,到底現在確診病例的年齡分佈是怎樣。

資料範圍就是我們剛剛匯入的武漢肺炎病例資料。
按幾個鍵,資料就分析好了!大家 google 「資料透視表」應該就會有很多教學?還是會希望我寫一篇 XD

重點是!因為我們是用資料的網址匯入這個資料,當 READr 更新病例資料時,這個網址的資料也會更新,你的 spreadsheet 也會更新,當然,你跑出來的分析結果也會連動更新喔!

為什麼 READr 要用 Github 開放資料?

既然 Spreadsheet 那麼好用,為什麼 READr 要使用進入門檻相對比較高(對一般人來說,不是工程師)的 Github 呢?

有幾個原因,首先,它在協作上可以控制和確認每個人更改的東西:

使用 spreadsheet 當然比較直覺與方便,每個人都可以新建資料,但要開放讓大家協作,就要開放權限,那就難保有人會來亂加資料,或是好心新增資料,但格式卻不如你所想,風險就會很高。

Github 的協作是透過發 Pull Request(這部分就請大家自行 Google 了),管理者可以看到你改動了什麼,並確認你改動的內容是對的,才將你更新的部分 merge 回原本的資料。有個管控機制。

另外,為了方便管理者管控跟回溯,它有很強大的版本控制功能:

每一份資料,你都可以點擊「History」看到這個檔案的變更歷史。

它會用視覺化的方式告訴你這次改動了哪些地方。

像我把這份文件裡的「鼻塞」統一改成 nasal congestion。

目前 READr 在持續更新的資料集,有兩個:武漢肺炎確診病例香港國安法入罪名單。當初會想做武漢肺炎確診病例資料集,是在做報導的時候發現,韓國疾管署的病例資料相對完整,而且是用開放資料格式建立的!當時就覺得好羨慕啊!轉念一想,何不我們自己來做一個台灣的版本,讓國人、國際在暸解台灣疫情的時候都會比較方便與完整。

到目前為止,這兩個資料集都只有 READr 的記者們在更新,如果你熟悉 Github 的使用,也想要一起來協作,歡迎發直接發 PR 給我們!!!

註:本系列是紀錄本人從一個程式麻瓜到資料記者的學習歷程,有很多很基礎的東西是工程師的日常但我就是不會(哭),所以想寫下來分享給同樣不會就是不會的人們~如果還有什麼基礎課程想要暸解,歡迎許願!

--

--

zoelee
READr
Editor for

READr 記者兼數位專題製作人。曾任週刊記者,沒有特定新聞路線的雜食系,2017 年進到一個工程師超過半數的團隊以後開始慢慢長理科腦,希望能為還願意看新聞的人提供好新聞。