首页 > 解决方案 > gspread 删除特定单元格并向上移动

问题描述

我想要做的就是删除一个特定的单元格并向上移动,我在文档中找不到答案。

我可以很容易地找到一个单元格值,sheet.cell(X,Y).value

我可以很容易地删除一行sheet.delete_row(Z)

在 UI 中,我可以复制我想要的操作

向上删除单元格

但我不知道如何使用 gspread python 执行此操作

标签: pythongoogle-sheets-apigspread

解决方案


我相信你的目标和情况如下。

  • 您想使用 gspread 实现“删除单元格”和“上移”。
  • 您已经能够使用带有 gspread 的 Sheets API 获取和放置 Google 电子表格的值。

在这种情况下,batch_update()使用 gspread 的方法。简单的示例脚本如下。

示例脚本:

在此示例脚本中,单元格“A2”被删除,A3 之后的单元格被上移。请将范围设置为 GridRange。

spreadsheetId = "###" # Please set Spreadsheet ID.
sheetName = "Sheet1" # Please set sheet name.

client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
sheetId = spreadsheet.worksheet(sheetName)._properties['sheetId']
requests = [
    {
        'deleteRange': {
            'range': {
                'sheetId': sheetId,
                'startRowIndex': 1,
                'endRowIndex': 2,
                'startColumnIndex': 0,
                'endColumnIndex': 1,
            },
            'shiftDimension': 'ROWS',
        }
    }
]
spreadsheet.batch_update({'requests': requests})

参考:


推荐阅读