如何通过gspread清除谷歌表中的范围

zep*_*n11 1 python google-sheets gspread google-sheets-api

嗨,我想使用 gspread 清除谷歌表中的 A3:J10000 范围。

做这样的循环需要太多时间:

for cell in range_to_clear:
cell.value=''
sh.worksheet('WorksheetX').update_cells(range_to_clear,value_input_option='USER_ENTERED')
Run Code Online (Sandbox Code Playgroud)

我找到了 values_clear() 方法,但无法使其工作:

range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
sh.values_clear(range_2_delete)
Run Code Online (Sandbox Code Playgroud)

上面的代码给出了这个错误:AttributeError: 'list' object has no attribute 'encode'

Tan*_*ike 5

  • 您想清除 Google 电子表格上的范围值。
  • 您想使用 gspread 和 python 来实现这一点。
  • 您已经能够使用 Sheets API 放置和获取电子表格的值。

如果我的理解是正确的,这个答案怎么样?请将此视为几种可能的答案之一。

我认为 的方法values_clear()可以用于您的情况。

修改后的脚本:

请按如下方式修改您的脚本。

从:
range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
sh.values_clear(range_2_delete)
Run Code Online (Sandbox Code Playgroud) 到:
sh.values_clear("WorksheetX!A3:J10000")
Run Code Online (Sandbox Code Playgroud)

或者

sh.values_clear("'WorksheetX'!A3:J10000")
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 这个答案假设如下。
    • 使用最新版本 (v3.1.0) gspread。
    • sh被宣布。如果sh未声明,请使用sh = gc.open('My poor gym results')sh = client.open_by_key(spreadsheetId)参考

参考:

如果这不是您想要的结果,我深表歉意。