为什么我使用 gspread (Python) 在 deleteDimision 请求中出现 TypeError
Why do i get TypeError in deleteDimision request using gspread (Python)
我正在尝试通过 gspread 添加行和删除列,但我一直收到 TypeError: string indices must be integers
代码如下:
writeTo = client.open_by_key(file['id']).worksheet('Sheet1')
request = {
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": 0,
"dimension": "COLUMNS",
"startIndex": 8,
"endIndex": 26
}
}
}
]
}
result = writeTo.batch_update(request)
我正在使用表格 API v3
我认为错误在 file['id']
您不能按字符对字符串进行切片,它们必须按整数进行切片,例如 file[5]
以获取文件中的前 4 个字母。
修改点:
- 好像
batch_update
方法就是Classgspread.spreadsheet.Spreadsheet
的方法。 Ref 当我看到你的脚本时,client.open_by_key(file['id']).worksheet('Sheet1')
返回 Class gspread.worksheet.Worksheet
。我认为这是你的问题的原因。
- 当我测试你的脚本时,我可以确认发生了与
TypeError: string indices must be integers
相同的错误。
当这些点体现在你的脚本中,就变成了下面这样。
发件人:
writeTo = client.open_by_key(file['id']).worksheet('Sheet1')
收件人:
writeTo = client.open_by_key(file['id'])
注:
在此修改中,假设file['id']
的值是有效的电子表格ID。请注意这一点。当出现类似Requested entity was not found.
的错误时,请再次确认您的电子表格ID。
而且,我认为您的请求正文是正确的。当我使用修改后的脚本测试你的请求体时,我确认没有错误发生。
参考:
我正在尝试通过 gspread 添加行和删除列,但我一直收到 TypeError: string indices must be integers
代码如下:
writeTo = client.open_by_key(file['id']).worksheet('Sheet1')
request = {
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": 0,
"dimension": "COLUMNS",
"startIndex": 8,
"endIndex": 26
}
}
}
]
}
result = writeTo.batch_update(request)
我正在使用表格 API v3
我认为错误在 file['id']
您不能按字符对字符串进行切片,它们必须按整数进行切片,例如 file[5]
以获取文件中的前 4 个字母。
修改点:
- 好像
batch_update
方法就是Classgspread.spreadsheet.Spreadsheet
的方法。 Ref 当我看到你的脚本时,client.open_by_key(file['id']).worksheet('Sheet1')
返回 Classgspread.worksheet.Worksheet
。我认为这是你的问题的原因。- 当我测试你的脚本时,我可以确认发生了与
TypeError: string indices must be integers
相同的错误。
- 当我测试你的脚本时,我可以确认发生了与
当这些点体现在你的脚本中,就变成了下面这样。
发件人:
writeTo = client.open_by_key(file['id']).worksheet('Sheet1')
收件人:
writeTo = client.open_by_key(file['id'])
注:
在此修改中,假设
file['id']
的值是有效的电子表格ID。请注意这一点。当出现类似Requested entity was not found.
的错误时,请再次确认您的电子表格ID。而且,我认为您的请求正文是正确的。当我使用修改后的脚本测试你的请求体时,我确认没有错误发生。