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

如何在Colab中将完整Pandas DataFrame导出至Google Sheets?

将Pandas DataFrame完整导出到Google Sheets(Colab环境)

方案一:使用gspread-dataframe库(推荐)

原生gspread没有直接写入DataFrame的方法,你看到的set_dataframe属于第三方扩展库gspread-dataframe的功能,需要先安装并导入:

  1. 安装依赖库
!pip install gspread-dataframe
  1. 完整导出代码(结合你已有的认证流程)
from google.colab import auth
auth.authenticate_user()

import gspread
from google.auth import default
import pandas as pd
from gspread_dataframe import set_with_dataframe

# 认证与获取目标工作表
creds, _ = default()
gc = gspread.authorize(creds)
sh = gc.open('A new spreadsheet') # 替换为你的目标表格名称
worksheet = sh.sheet1

# 示例DataFrame(替换为你的实际数据)
df = pd.DataFrame({
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 28],
    '城市': ['北京', '上海', '广州']
})

# 从A1单元格开始写入完整DataFrame
set_with_dataframe(worksheet, df)

方案二:手动转换数据写入(无需额外库)

如果不想安装额外依赖,可以把DataFrame转换成包含表头的列表,再用gspread的update方法批量写入:

from google.colab import auth
auth.authenticate_user()

import gspread
from google.auth import default
import pandas as pd

# 认证与获取目标工作表
creds, _ = default()
gc = gspread.authorize(creds)
sh = gc.open('A new spreadsheet')
worksheet = sh.sheet1

# 示例DataFrame(替换为你的实际数据)
df = pd.DataFrame({
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 28],
    '城市': ['北京', '上海', '广州']
})

# 转换为包含表头的二维列表
data = [df.columns.values.tolist()] + df.values.tolist()

# 批量写入工作表(自动适配数据范围)
worksheet.update('A1', data)

补充说明

  • 若需追加数据而非覆盖,方案一中可指定row参数,比如set_with_dataframe(worksheet, df, row=worksheet.row_count+1);方案二中可计算现有行数后指定写入起始位置。
  • 两种方法都会自动匹配DataFrame的行列数,无需手动指定单元格范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:35:13