【发布时间】:2021-02-26 15:17:21
【问题描述】:
有人可以帮助我通过 gspread 实现嵌套列表吗? Screenshot 我想做的事。
【问题讨论】:
标签: python google-sheets google-sheets-api gspread
有人可以帮助我通过 gspread 实现嵌套列表吗? Screenshot 我想做的事。
【问题讨论】:
标签: python google-sheets google-sheets-api gspread
我相信你的目标和你目前的情况如下。
您想在单元格中创建一个下拉列表。
根据您的以下示例图片和问题中的“嵌套列表”,我是这样理解的。
您想使用 python 的 gspread 来实现这一点。
您已经能够使用 Sheets API 获取和输入 Google 电子表格的值。
在这种情况下,我认为需要使用batchUpdate方法。
在此示例脚本中,请使用您的脚本来检索 credentials 或 client = gspread.authorize(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)
上面的脚本运行时,得到如下结果。
【讨论】: