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

如何通过Python调用Google Sheets API识别谷歌表格中的合并单元格

用Google Sheets API获取合并单元格信息的实现方法
  • 首先调整你的请求参数:
    • 将include_grid_data设置为True,只有开启该参数,接口才会返回单元格网格的元数据,包含合并单元格相关信息
    • 将ranges参数设置为你需要查询的目标范围,也就是["A1:B"]

接口返回的响应中,sheets字段对应你查询的工作表集合,每个工作表对象下的mergedRanges字段就是该表内所有合并单元格的范围列表。每个合并范围包含四个索引属性,索引均从0开始计数:

  • startRowIndex:合并范围起始行,包含当前行
  • endRowIndex:合并范围结束行,不包含当前行
  • startColumnIndex:合并范围起始列,包含当前列
  • endColumnIndex:合并范围结束列,不包含当前列

修改后的完整实现代码如下:

spreadsheet_id = 'my-spreadsheet-id'
# 填入目标查询范围
ranges = ["A1:B"]
# 开启网格数据返回
include_grid_data = True

request = service.spreadsheets().get(
    spreadsheetId=spreadsheet_id, 
    ranges=ranges, 
    includeGridData=include_grid_data
)
response = request.execute()

# 取第一个工作表的合并范围,可根据实际需求调整工作表索引
merged_ranges = response['sheets'][0].get('mergedRanges', [])

# 转换为表格界面显示的行号列号输出
for merge_range in merged_ranges:
    show_start_row = merge_range['startRowIndex'] + 1
    show_end_row = merge_range['endRowIndex']
    show_start_col = merge_range['startColumnIndex'] + 1
    show_end_col = merge_range['endColumnIndex']
    print(f"合并范围:第{show_start_row}行至第{show_end_row}行,第{show_start_col}列至第{show_end_col}列")

对应你示例里B1和B2合并的场景,上述代码会输出合并范围:第1行至第2行,第2列至第2列,和实际表格结构完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:39:00