如何通过 gspread 清除 google sheet 中的范围

How to clear a range in google sheet via gspread

您好,我想使用 gspread 清除 google sheet 中的 A3:J10000 范围。

像这样循环太花时间了:

for cell in range_to_clear:
cell.value=''
sh.worksheet('WorksheetX').update_cells(range_to_clear,value_input_option='USER_ENTERED')

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

range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
sh.values_clear(range_2_delete)

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

  • 您想清除 Google 电子表格中的范围值。
  • 您想通过 python.
  • 使用 gspread 来实现此目的
  • 您已经能够使用表格为电子表格输入和获取值 API。

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

我觉得values_clear()的方法可以用于你的情况

修改后的脚本:

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

从:
range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
sh.values_clear(range_2_delete)
到:
sh.values_clear("WorksheetX!A3:J10000")

sh.values_clear("'WorksheetX'!A3:J10000")

注:

  • 本回答假设如下。
    • 使用最新版本的gspread (v3.1.0)。
    • sh 已声明。如果没有声明sh,请使用sh = gc.open('My poor gym results')sh = client.open_by_key(spreadsheetId)Ref

参考:

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

您应该尝试如下重写代码:

    range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
    values_clear(range_2_delete)