google sheets api选择不相邻的单元格

时间:2017-11-01 13:19:53

标签: python google-sheets google-spreadsheet-api

选择多个非相邻单元格的范围是多少?

我正在尝试更新工作表(A2和A5)中不相邻的单元格。我知道如何更新连续的单元格:' SheetName'!A2:5,但是如何只更新单元格2和5.我正在使用python:

    sheetRange = str("'Telegram'!A2:5")
    value_range = [['a'],['False'],['True']]
    value_range = {
        "values": value_range,
    }
    request = self.service.spreadsheets().values().update(spreadsheetId=self.spreadsheetid, range=sheetRange,
                                                          valueInputOption="RAW",
                                                          body=value_range )
    response = self.requestExecute(request)
    return response

1 个答案:

答案 0 :(得分:0)

如何使用sheets.spreadsheets.batchUpdate?通过使用sheets.spreadsheets.batchUpdate,您可以更新每个单元格,如“A2”和“A5”。以下示例脚本来自here。您可以从此脚本中看到请求正文。

请注意,在这种情况下,GridRange代替a1Notation用于单元格的坐标。

示例脚本:

此示例脚本假设您已准备好使用Sheets API v4。

batch_update_spreadsheet_request_body = {
    "requests":
    [
        {
            "updateCells":
            {
                "range":
                {
                    "sheetId": #####, # Please input your sheetId.
                    "startRowIndex": 1,
                    "endRowIndex": 2,
                    "startColumnIndex": 0,
                    "endColumnIndex": 1
                },
                "rows":
                [
                    {
                        "values":
                        [
                            {
                                "userEnteredValue":
                                {
                                    "stringValue": "sample value for A2"
                                }
                            }
                        ]
                    }
                ],
                "fields": "*"
            }
        },
        {
            "updateCells":
            {
                "range":
                {
                    "sheetId": #####,  # Please input your sheetId.
                    "startRowIndex": 4,
                    "endRowIndex": 5,
                    "startColumnIndex": 0,
                    "endColumnIndex": 1
                },
                "rows":
                [
                    {
                        "values":
                        [
                            {
                                "userEnteredValue":
                                {
                                    "stringValue": "sample value for A5"
                                }
                            }
                        ]
                    }
                ],
                "fields": "*"
            }
        }
    ]
}
request = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=batch_update_spreadsheet_request_body)
response = request.execute()
print(response)

参考:

如果我误解了你的问题,我很抱歉。