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

Python无需API读取Google Sheets表格的实现问题

无需API读取Google Sheets的解决方案

要无token仅通过URL读取Google Sheets,核心是利用Google Sheets的公开导出功能,前提是你的表格已经设置为任何人可查看的公开权限。

步骤1:构造导出CSV的URL

把普通的Google Sheets编辑URL,替换成CSV导出格式的URL:

  • 原编辑URL格式:https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/edit#gid=[SHEET_GID]
  • 导出CSV的URL格式:https://docs.google.com/spreadsheets/d/[SPREADSHEET_ID]/export?format=csv&gid=[SHEET_GID]

其中:

  • SPREADSHEET_ID:是编辑URL中d/与/edit之间的字符串,比如https://docs.google.com/spreadsheets/d/abc123xyz/edit里的abc123xyz
  • SHEET_GID:是URL中gid=后面的数字,每个工作表对应唯一GID,默认第一个工作表的GID是0

步骤2:Python读取示例

用基础库(requests+csv)读取

import requests
import csv
from io import StringIO

# 替换为你的表格ID和工作表GID
spreadsheet_id = "你的表格ID"
sheet_gid = "0"

# 构造导出URL
export_url = f"https://docs.google.com/spreadsheets/d/{spreadsheet_id}/export?format=csv&gid={sheet_gid}"

# 请求获取CSV内容
resp = requests.get(export_url)
resp.encoding = "utf-8"  # 避免中文乱码

# 将文本转为可读取的文件流
csv_stream = StringIO(resp.text)

# 读取并打印每行内容
csv_reader = csv.reader(csv_stream)
for row in csv_reader:
    print(row)

用pandas快速读取(更适合数据分析)

import pandas as pd

spreadsheet_id = "你的表格ID"
sheet_gid = "0"

export_url = f"https://docs.google.com/spreadsheets/d/{spreadsheet_id}/export?format=csv&gid={sheet_gid}"

# 直接读取为DataFrame
df = pd.read_csv(export_url)
# 打印前5行数据
print(df.head())

注意事项

  • 必须确保表格权限设置为「任何人拥有查看权限」,否则请求会返回登录页面的HTML(就是你之前遇到的情况)
  • 除了CSV格式,还可以替换format=参数为xlsx导出Excel文件,用pd.read_excel()读取
  • 如果表格有复杂格式(比如合并单元格),导出的CSV会按拆分后的单元格内容展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:25:12