如何在Google Colaboratory中访问Google Sheets数据?
嗨,我平时经常在Google Colab里处理Google Sheets的数据,给你分享两个最实用的方法,亲测靠谱!
方法一:用gspread库(功能全面,支持读写操作)
这个库是Google官方推荐的,适合需要对Sheets做增删改查等复杂操作的场景,步骤也很清晰:
- 先安装gspread(如果Colab环境里还没装的话)
!pip install gspread
- 完成Google账号授权
运行下面的代码,会弹出一个授权链接,点击后登录你的Google账号,复制验证码粘贴回输入框即可:
from google.colab import auth auth.authenticate_user() import gspread from google.auth import default creds, _ = default() gc = gspread.authorize(creds)
- 连接你的Sheets并读取数据
把'你的Sheets文件名'改成你实际的文件名,sheet1是默认的第一个工作表,你也可以换成指定的工作表名称,比如worksheet = gc.open('我的数据').worksheet('2024年数据'):
# 打开指定的Sheets文件 worksheet = gc.open('你的Sheets文件名').sheet1 # 获取所有数据(返回一个二维列表,第一行是表头) data = worksheet.get_all_values() # 如果需要转成pandas DataFrame方便分析 import pandas as pd df = pd.DataFrame(data[1:], columns=data[0])
方法二:用pandas直接读取(快速简洁,仅需读取数据时首选)
如果只是需要读取数据做分析,不需要修改Sheets,这个方法更省事,不需要安装额外库:
设置Sheets的共享权限
打开你的Google Sheets,点击右上角的「共享」,设置为「任何人有查看权限」(如果是私有数据,也可以只分享给你的Colab登录账号)。获取导出链接
在Sheets的地址栏里,把链接末尾的/edit#gid=0替换成/export?format=csv,比如原链接是https://docs.google.com/spreadsheets/d/abc123/edit#gid=0,修改后变成https://docs.google.com/spreadsheets/d/abc123/export?format=csv。用pandas读取
把修改后的链接填入下面的代码即可:
import pandas as pd sheet_url = "你修改后的导出链接" df = pd.read_csv(sheet_url)
小提示
- 如果你的Sheets是私有且不想设置公开共享,优先用gspread方法,它会通过你的账号授权访问,更安全。
- gspread还支持写入数据、修改单元格格式等操作,比如
worksheet.update_cell(1, 1, '新表头')就能修改第一行第一列的内容,按需尝试即可。
内容的提问来源于stack exchange,提问作者AI2.0




