Python – Connect With Google API – Google Sheet Example (Application)

簡介

在上一篇我們得到了重要的兩個角色『ID , Secret』後,這篇我們要透過Python程式碼來把抓取到的資料丟到Google Sheet中,而廢話就不多說打鐵熱直接實操。

建立Google Sheet

相信大家都會創建Google Sheet吧,我還是講一下,最簡單就是到你的Google Drive來創建檔案->Google Sheet,即可。而這邊我們要注意的是,創建Google Sheet打開檔案後,如上圖紅色框框處,是我們在Python程式碼中會用到的。這算是該Google Sheet的ID。

接著我們要把在Google API 生成的Service Accounts的Email,讓你剛剛的Google Sheet共享給該Mail,所以把Service Accounts Email填入共用,讓你的API取的Sheet的權限。

Python 程式

接著我們看到Pyhton部分,首先要安裝一個套件叫做『gspread oauth2client』,讓你的Python可以直接輸入Google API給你的『ID , Secret』來進行登入的權限。

在我們寫程式碼之前,你必須先從Google API Credentials中下載你在前一篇新增的憑證檔案,並在你專案資料夾中,新增一個資料夾,命名可以隨大家喜好,把下載好的檔案丟到該資料夾中。

!pip install gspread oauth2client df2gspread
!pip install df2gspread
!pip install gspread
!pip install pydrive

我們把要安裝的套件以程式碼給大家複製執行。以上套件都是要使用Goolge服務。

import gspread
import requests
import json

from oauth2client.service_account import ServiceAccountCredentials
from oauth2client.client import GoogleCredentials

接著我們要匯入所需要的套件,才可以直接使用套件中的方法。大家可以直接複製使用。

上圖是在設定你Python寫入Google Sheet權限,講了這麼多,設定這麼多就是要用在這邊。

scope』是要界定你存取的範圍,這邊我就填入Sheet與Drive的網址。

credentials』,這邊程式會讀取你剛剛新增資料夾內的Json檔案,你的『ID , Secret』都會在此Json檔案中。第三行的

gc』,這邊就是要把你的權限裝在一個容器中,在下方講解的程式碼中來引用。

接下來我們要指定要把資料放在哪一個Google Sheet,下面我會一一解釋:

spreadsheet_key』,這個容器就是要把你sheet的ID填入的地方。

book』,指定你要丟資料的Sheet ID,這邊會使用到『open_by_key』的方法,在一開始import package時有成功安裝後就可以使用,而要使用『gc』這個容器來找指定。

worksheet』,是要在你剛剛的book指定哪個sheet之後,進階的找到你要填入的哪個分頁,所以這邊要使用『worksheet()』方法並填入Sheet的名稱。

而在執行面,可以看到上圖的最後一行,當我們一步一步的指定好要填入資料的容器已經成形後,這邊提到一個寫入資料的方法『update_cell()』,屬性要填入『row , colum , data』。

這邊我就單純寫入個字串,看看到底有沒有串接成功,結果如上圖,完成。

小結

在最後我要補充一下,假如上述過程有出現錯誤的話,我們再重新安裝package與import所示套件,應該就可以解決了,而假如在jupyter notebook執行成功後,會出現上圖的訊息。而在下一篇我想直接使用爬蟲爬取新聞,並透過本篇的方法,自動貼在我們的Sheet中,持續Try!

在〈Python – Connect With Google API – Google Sheet Example (Application)〉中有 1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *