如何透過Python建立Google試算表:使用Google Sheet API

#20191224更新從Python存取試算表的方法

本文透過gspread模組去讀取Google Sheet常用的函式如下:#更新儲存格
update_acell()和update_cell()
#插入新列
insert_row()
#讀取儲存格
acell()和cell()
#讀取整列或整欄
row_values()和col_values()
#傳回整個工作表
get_all_values()

本文分成兩部分,Part1是API申請,Part2是Python程式

Part1:API申請

Image for post
Image for post
進入 https://console.developers.google.com/,並依圖點選
Image for post
Image for post
點擊新增專案
Image for post
Image for post
輸入專案名稱並建立
Image for post
Image for post
啟用API
Image for post
Image for post
搜尋Google Sheet,並且點擊進去
Image for post
Image for post
點擊啟用
回到主控台,點擊憑證→建立憑證
Image for post
Image for post
選擇服務帳戶金鑰
Image for post
Image for post
依個人狀況進行輸入
Image for post
Image for post
此時會將金鑰(Json格式)保存至電腦中,請妥善保管
Image for post
Image for post
回到雲端硬碟,新增Google試算表
Image for post
Image for post
新增共用,信箱為服務帳戶ID(參考上面的步驟)
Image for post
Image for post
記下此組key,等下會用到

Part2:Python程式 ( 新增一筆資料 )

pip install gspread
pip install oauth2client
import gspread
from oauth2client.service_account import ServiceAccountCredentials
auth_json_path = '你的金鑰檔案.json'
gss_scopes = ['https://spreadsheets.google.com/feeds']
#連線
credentials = ServiceAccountCredentials.from_json_keyfile_name(auth_json_path,gss_scopes)
gss_client = gspread.authorize(credentials)
#開啟 Google Sheet 資料表
spreadsheet_key = '你的Google表單Key'
#建立工作表1
sheet = gss_client.open_by_key(spreadsheet_key).sheet1
#自定義工作表名稱
#sheet = gss_client.open_by_key(spreadsheet_key).worksheet('測試1')
#Google Sheet 資料表操作(舊版)
sheet.clear() # 清除 Google Sheet 資料表內容
listtitle=["姓名","電話"]
sheet.append_row(listtitle) # 標題
listdata=["Liu","0912-345678"]
sheet.append_row(listdata) # 資料內容
#Google Sheet 資料表操作(20191224新版)
sheet.update_acell('D2', 'ABC') #D2加入ABC
sheet.update_cell(2, 4, 'ABC') #D2加入ABC(第2列第4行即D2)
#寫入一整列(list型態的資料)
values = ['A','B','C','D']
sheet.insert_row(values, 1) #插入values到第1列
#讀取儲存格
sheet.acell('B1').value
sheet.cell(1, 2).value
#讀取整欄或整列
sheet.row_values(1) #讀取第1列的一整列
sheet.col_values(1) #讀取第1欄的一整欄
#讀取整個表
sheet.get_all_values()

參考書籍:

Written by

Machine Learning / Deep Learning / Python / Flutter cakeresume.com/yanwei-liu

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store