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

如何用gspread与Python批量创建谷歌电子表格中的多个工作表?

批量创建以员工姓名命名的Google工作表(基于gspread)

直接上适配需求的可用代码示例:

import gspread
from google.oauth2.service_account import Credentials

# 授权与连接(你已掌握的部分,确保凭证文件路径正确)
SCOPE = ["https://www.googleapis.com/auth/spreadsheets", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive"]
CREDS = Credentials.from_service_account_file('credentials.json', scopes=SCOPE)
CLIENT = gspread.authorize(CREDS)

# 打开目标电子表格
spreadsheet = CLIENT.open("你的电子表格名称")

# 员工姓名列表
employee_name = ['Jonny','Emma', 'Mike', 'Lisa']

# 批量生成专属工作表
for name in employee_name:
    try:
        # 创建工作表:标题为员工姓名,预设100行20列(可按需调整)
        spreadsheet.add_worksheet(title=name, rows="100", cols="20")
        print(f"成功创建:{name} 的专属工作表")
    except gspread.exceptions.APIError as e:
        # 处理同名工作表冲突
        err_msg = e.response.json()['error']['message']
        print(f"创建 {name} 工作表失败:{err_msg}")

关键说明

  • 核心方法是spreadsheet.add_worksheet(),用于生成新工作表,行数、列数参数可根据实际需求修改。
  • 加入try-except是因为Google Sheets不允许同一表格内存在重复标题的工作表,捕获API错误能避免程序崩溃并给出明确提示。
  • 若需要指定工作表的插入位置(比如插在现有工作表前面),可以替换成insert_sheet()方法,例如spreadsheet.insert_sheet(title=name, index=1)(index从0开始计数)。
  • 创建完成后,如果你需要给每个工作表添加初始数据或格式,可以继续通过spreadsheet.worksheet(name)获取工作表对象,再调用update()等方法操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:50:44