如何清除google工作表的所有内容?

How to clear all content of a google worksheet?

我正在使用 python 和 gspread 更新 google 电子表格。我正在使用 "values_update":

作为源代码使用 CSV 文件
    projectSheet.values_update(
    worksheetName, params={'valueInputOption': 'USER_ENTERED'},
    body={'values': list(csv.reader(open(csvName, encoding='utf-8')))}
) 

我想在更新新数据之前清除现有工作表的所有内容。 我找不到这样做的直接方法。 有什么好的方法可以做到这一点吗?

  • 您想在清除工作表上所有单元格的内容后放置这些值。
  • 您想使用带有 Python 的 gspread 来实现此目的。
  • 您已经能够使用表格为电子表格输入和获取值 API。

如果我的理解是正确的,这个答案怎么样?

本回答中,使用gspread的batch_update方法清除了工作表中所有单元格的内容,并将值放入清除后的工作表中。

示例脚本:

# Clear the contents of all cells on the worksheet of "worksheetName".
sheetId = projectSheet.worksheet(worksheetName)._properties['sheetId']
body = {
    "requests": [
        {
            "deleteRange": {
                "range": {
                    "sheetId": sheetId
                },
                "shiftDimension": "ROWS"
            }
        }
    ]
}
projectSheet.batch_update(body)

projectSheet.values_update(
    worksheetName,
    params={'valueInputOption': 'USER_ENTERED'},
    body={'values': list(csv.reader(open(csvName, encoding='utf-8')))}
)

参考文献:

如果我误解了你的问题,这不是你想要的方向,我很抱歉。

公认的解决方案对我不起作用,但使用 clear 方法却对我有用。所以像 projectSheet.clear() 这样的东西然后继续执行批量更新。 这是 link 到 clear 方法 https://gspread.readthedocs.io/en/latest/api.html#gspread.models.Worksheet.clear