我在Python中使用gspread时出现错误

0 投票
1 回答
31 浏览
提问于 2025-04-13 13:03

我在尝试使用worksheet.update的时候遇到了一个错误。

我想更新B2和C2这两个单元格,但结果却出现了这个错误。

 {'code': 400, 'message': 'Requested writing within range [Sheet1!B2:C2], but tried writing to row [3]', 'status': 'INVALID_ARGUMENT'}

这是我的代码

    if sem == "Sem 1":
        sh.update('B2:C2', [[str(gpa)], [str(unWeightedgpa)]])

如果用的单元格字母相同,它就能正常工作。比如说,如果是A1:A2。

1 个回答

0

我觉得你的目标是这样的。

  • 你想用 gspread 把 [[str(gpa)], [str(unWeightedgpa)]] 的值放到 "B2:C2" 这个单元格里。

在这种情况下,试试下面的修改吧。

原来的代码:

sh.update('B2:C2', [[str(gpa)], [str(unWeightedgpa)]])

修改后的代码:

sh.update(values=[[str(gpa)], [str(unWeightedgpa)]], range_name='B2')
  • 当这个脚本用一个有效的 sh 值运行时,[[str(gpa)], [str(unWeightedgpa)]] 的值会被放到 "B2:C2"。

注意:

  • 在使用这个脚本之前,请确认你的 gspread 版本。现在的版本似乎是 v6.0.2。如果你的 gspread 版本比较旧,请更新一下,然后再测试。

参考链接:

撰写回答