iT邦幫忙

2022 iThome 鐵人賽

0
Software Development

學 Python 到底可以幹麻勒?系列 第 37

( Day 37 ) 寫入 Google 試算表

  • 分享至 

  • xImage
  •  

在「讀取 Google 試算表」的教學裡已經能順利讀取 Google 試算表的資料,這篇教學會延續相關的程式,實作可以透過 Python 程式,將資料寫入 Google 試算表的功能。

原文參考:寫入 Google 試算表

本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )

Python 教學 - 寫入 Google 試算表

編輯 Apps Script

開啟 Google 雲端硬碟,新增一個 Google 試算表,在試算表裡開啟 Apps Script,輸入下方的程式碼。

javascript >>>>
function doGet(e) {
  var SpreadSheet = SpreadsheetApp.getActive();  // 讀取 Apps Script 所綁定的 Google Sheet
  var params = e.parameter;                      // 讀取網址參數
  var name = params.name || '工作表1';            // 如果參數有 name 就使用,否則就是工作表1
  var SheetName = SpreadSheet.getSheetByName(name); // 取得工作表內容
  var raw_data = params.data;                    // 讀取網址參數的 data 內容
  data = JSON.parse(raw_data);                   // 轉換成 json 格式
  var top = params.top || false;                 // 如果沒有設定 top 參數就使用 false
  var range;
  try{
    if(top){
      SheetName.insertRowsBefore(1,1);           // 如果 top 等於 true,從上方插入資料
      range = SheetName.getRange(1,1,1,data.length); // 設定插入資料範圍
    }
    else{
      range = SheetName.getRange(SheetName.getLastRow()+1,1,1,data.length);  // 如果 top 等於 false,從下方插入資料
    }
  }catch{
    range = SheetName.getRange(SheetName.getLastRow()+1,1,1,data.length);
  }
  range.setValues([data]) // 插入資料
  return ContentService.createTextOutput(true);
}

完成後部署 Apps Script,得到一串可使用 Get 方法讀取的網址。

Python 教學 - 寫入 Google 試算表

Python 寫入資料到 Google 試算表

更新部署後,使用下方 Python 程式,將串列格式的資料 data 放在字典變數 params 中,接著就能透過 get 的方式寫入 google 試算表。

import requests

url = '部署的網址'

params = {
    'name':'工作表1',
    'top':'true',
    'data':'[123,456,789]'
}

web = requests.get(url=url, params=params)

Python 教學 - 寫入 Google 試算表

小結

如果要使用 Python 串接 Google 試算表,做到讀取或寫入的功能,必需要搭配 Apps Script 方能實現,一但可以操作 Google 試算表,就能把 Google 試算表當作簡單的資料庫使用,相當方便!

其他參考

更多 Python 教學

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,我已經寫了超過 400 篇 Python 的教學,有興趣可以參考下方連結呦~ ^_^


上一篇
( Day 36 ) 讀取 Google 試算表
下一篇
( Day 38 ) 產生 BarCode ( 條碼 )
系列文
學 Python 到底可以幹麻勒?41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言