如何使用 gspread 添加嵌套列表?

How to add a nested list with gspread?

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

我认为您的目标和现状如下。

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

    • 根据你下面的示例图片和你问题中的“嵌套列表”,我是这样理解的。

  • 您想使用 python 的 gspread 来实现此目的。

  • 您已经能够使用表格 API.

    为 Google 电子表格获取和输入值

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

示例脚本:

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

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)

结果:

当上述脚本为运行时,得到如下结果

注:

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

参考文献:

如果您只想要一个可以手动编辑的下拉列表,则无需代码即可完成。以下是步骤:

#1 Select 您希望列表所在的单元格,然后转到“数据”>“数据验证”:

#2 Select 条件下的“项目列表”:

#3 然后输入您的值,用逗号分隔:

#4 按保存,然后单击胡萝卜以查看您的下拉列表。