You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Sheets(GS)按钮触发运行Python脚本?

从Google Sheets点击按钮触发Python脚本的简便实现方式

当然可以实现,目前有两种比传统Google Cloud方案更简便的路径:

方法一:Google Apps Script + Cloud Functions(最简联动)

这是目前最通用的简便方案,步骤比旧版Cloud配置简化很多:

  • 第一步:把你的Python脚本逻辑部署成Google Cloud Functions,选择HTTP触发类型,部署时测试阶段可暂时设置为「允许未认证调用」(生产环境建议用服务账号认证保障安全),部署后会得到一个HTTP端点URL。
  • 第二步:打开目标Google Sheets,点击「插入」→「绘图」,绘制一个按钮样式的图形,右键点击图形选择「分配脚本」。
  • 第三步:在弹出的Apps Script编辑器里,编写简单的触发函数:
function runPythonScript() {
  const cloudFunctionUrl = "你的Cloud Functions HTTP端点";
  UrlFetchApp.fetch(cloudFunctionUrl);
}

保存后,点击Sheets里的按钮,就会触发这个函数,进而调用你的Python脚本。

方法二:Google Colab联动(轻量场景首选)

如果你的Python脚本仅处理Sheets内数据、无需长期后台运行,这个方案更轻量:

  • 第一步:在Google Colab里编写Python脚本,用gspread库连接目标Google Sheets(提前授权Colab访问云端数据),实现核心业务逻辑。
  • 第二步:在Sheets里用Apps Script创建自定义菜单,或插入绘图按钮,绑定一个修改指定单元格的函数:
function triggerColab() {
  SpreadsheetApp.getActiveSheet().getRange("A1").setValue(new Date().toString());
}
  • 第三步:回到Colab脚本,添加循环检测逻辑,监听Sheets里A1单元格的变化,一旦检测到更新就执行核心Python代码:
import gspread
from time import sleep

gc = gspread.service_account()
sheet = gc.open("你的Sheets名称").sheet1

last_value = sheet.cell(1,1).value
while True:
    current_value = sheet.cell(1,1).value
    if current_value != last_value:
        # 执行你的Python脚本逻辑
        print("触发脚本执行")
        last_value = current_value
    sleep(5)

运行Colab的监听脚本后,点击Sheets里的按钮修改A1值,就能触发Python代码执行。

注意事项

  • Cloud Functions生产环境务必关闭「未认证调用」,改用Google服务账号认证,避免恶意调用风险。
  • Colab的监听脚本需保持运行状态,适合临时数据处理场景,长期运行建议优先选择Cloud Functions。
  • Apps Script和Cloud Functions都有执行时间限制,复杂脚本需拆分逻辑适配。

内容的提问来源于stack exchange,提问作者Liz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:46:03