如何通过gspread清除Google工作表中的范围

时间:2019-11-15 12:18:17

标签: python google-sheets google-sheets-api gspread

嗨,我想使用gspread清除Google工作表中的A3:J10000范围。

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

package main

import (
    "fmt"
    "html"
    "strconv"
    "strings"
)

func main() {
    original := "\\U0001f618"

    // Hex String
    h := strings.ReplaceAll(original, "\\U", "0x")

    // Hex to Int
    i, _ := strconv.ParseInt(h, 0, 64)

    // Unescape the string (HTML Entity -> String).
    str := html.UnescapeString(string(i))

    // Display the emoji.
    fmt.Println(str)

    // but I want something like this: \uD83D\uDE18
}

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

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

上面的代码给出此错误: AttributeError:'list'对象没有属性'encode'

2 个答案:

答案 0 :(得分:3)

  • 您想清除Google Spreadsheet上的range值。
  • 您想通过gspread和python实现此目的。
  • 您已经能够使用Sheets 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

参考:

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

答案 1 :(得分:1)

您应尝试按以下方式重新编写代码:

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