首页 > 解决方案 > 如何使用 gspread 添加嵌套列表?

问题描述

有人可以帮助我通过 gspread 实现嵌套列表吗? 我想做的截图。

标签: pythongoogle-sheetsgoogle-sheets-apigspread

解决方案


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

  • 您想在单元格中创建一个下拉列表。

    • 从您的以下示例图像和问题中的“嵌套列表”中,我明白了这一点。

  • 您想使用 python 的 gspread 来实现这一点。

  • 您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。

在这种情况下,我认为需要使用 batchUpdate 方法。

示例脚本:

在此示例脚本中,请使用您的脚本来检索credentials. client = gspread.authorize(credentials)请设置变量。当您运行此脚本时,下拉列表将创建在“Sh​​eet1”的单元格“A1”中spreadsheetId。dropdownlilst 来自您的示例图像。

client = gspread.authorize(credentials)
spreadsheetId = "###" # Please set the Spreadsheet ID.
sheetName = "Sheet1" # Please set the sheet ID.

spreadsheet = client.open_by_key(spreadsheetId)
sheetId = spreadsheet.worksheet(sheetName).id
body = {
    "requests": [
        {
            "updateCells": {
                "range": {
                    "sheetId": sheetId,
                    "startRowIndex": 0,
                    "endRowIndex": 1,
                    "startColumnIndex": 0,
                    "endColumnIndex": 1
                },
                "rows": [
                    {
                        "values": [
                            {
                                "dataValidation": {
                                    "condition": {
                                        "values": [
                                            {
                                                "userEnteredValue": "help"
                                            },
                                            {
                                                "userEnteredValue": "me"
                                            },
                                            {
                                                "userEnteredValue": "please"
                                            }
                                        ],
                                        "type": "ONE_OF_LIST"
                                    },
                                    "showCustomUi": True
                                }
                            }
                        ]
                    }
                ],
                "fields": "dataValidation"
            }
        }
    ]
}
spreadsheet.batch_update(body)

结果:

运行上述脚本时,将获得以下结果。

在此处输入图像描述

笔记:

  • 此示例脚本假设您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。请注意这一点。

参考:


推荐阅读