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

如何通过gspread在Python中将嵌套列表批量插入谷歌表格?

高效批量插入嵌套列表到谷歌表格的方案

一、准备工作

先搞定基础依赖和授权,这是后续操作的前提:

  1. 安装必要的Python库,打开终端执行:
pip install gspread
pip install oauth2client
  1. 完成谷歌表格API授权:
    • 去谷歌云控制台新建项目,启用「Google Sheets API」
    • 创建服务账号,下载JSON格式的凭据文件(存到你的项目目录,比如命名为credentials.json)
    • 打开目标谷歌表格,把凭据文件里client_email字段的邮箱添加为表格协作者,权限设为「编辑」

二、核心代码实现

根据你的需求,提供两种常用的批量写入场景:

场景1:从指定位置开始覆盖写入(比如清空表格后写入新数据)

如果表格是空的,或者想覆盖某块区域,用update方法一次完成所有数据写入,效率拉满:

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# 设置API授权范围
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
# 加载本地凭据文件
creds = ServiceAccountCredentials.from_json_keyfile_name("credentials.json", scope)
# 完成授权登录
client = gspread.authorize(creds)

# 打开目标表格(替换成你的表格名称)
spreadsheet = client.open("我的数据表格")
# 选择要写入的工作表(比如第一个工作表sheet1)
worksheet = spreadsheet.sheet1

# 你的嵌套列表(实际用用户输入生成的my_list即可)
my_list = [["a","b"],["c","d"],["e","f"],["g","h"]]

# 批量写入:从A1单元格开始,自动匹配列表的行列数
worksheet.update('A1', my_list)

场景2:追加数据到表格末尾

如果表格已有数据,想把新列表追加到最后一行之后,用append_rows方法更省心:

# 前面的授权代码和上面一致,直接执行追加操作
worksheet.append_rows(my_list)

三、关键注意事项

  • 确保嵌套列表里每个子列表的长度完全一致,不然谷歌表格会抛出格式错误
  • 批量写入的效率比逐行插入高几个量级!逐行是每次API请求写一行,批量是一次请求写完所有行,数据量越大差距越明显
  • 如果列表特别长(比如上万行),可以分批次写入(比如每1000行写一次),避免单次请求数据量过大触发API限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:41:06