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

如何通过Python导出Google Sheet图表为图片?求替代getCharts()的方法

获取Google Sheets中的图表(Python实现)

gspread本身没有像JavaScript客户端那样的getCharts()封装方法,但可以通过调用Google Sheets API的原生接口来获取图表信息,以下是具体实现步骤:

实现代码

结合你现有的代码,只需添加几行调用底层API的逻辑:

client = gspread.service_account_from_dict(creds)
workbook = client.open('HR - 8/16-8/31 Data')
sheet = workbook.get_worksheet(0)
H1 = sheet.acell('B3').value

# 新增:获取表格ID并调用Sheets API获取图表
spreadsheet_id = workbook.id
response = client.request(
    'GET',
    f'https://sheets.googleapis.com/v4/spreadsheets/{spreadsheet_id}',
    params={'fields': 'sheets(charts)'}
)

# 解析返回的图表数据(以第一个工作表为例)
charts_data = response.json()['sheets'][0].get('charts', [])
for chart in charts_data:
    print(f"图表类型: {chart['spec']['basicChart']['chartType']}")
    print(f"数据源范围: {chart['spec']['basicChart']['domains'][0]['domain']['sourceRange']['sources']}")

说明

  1. 上述代码通过client.request()直接调用Google Sheets API的spreadsheets.get接口,指定fields=sheets(charts)过滤返回结果,仅获取图表相关数据。
  2. 返回的charts_data是一个列表,每个元素包含图表的元数据(类型、数据源、位置、样式配置等),但不包含图表的图片文件。
  3. 如果需要导出图表为图片,需要额外结合Google Drive API,将图表所在工作表或图表本身导出为图片格式,这一步需单独处理权限和API调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:20:21