我正在用python和gspread更新google电子表格。我使用CSV文件作为源代码,使用"values_update":
projectSheet.values_update(
worksheetName, params={'valueInputOption': 'USER_ENTERED'},
body={'values': list(csv.reader(open(csvName, encoding='utf-8')))}
)
在更新新数据之前,我想清除现有工作表的所有内容。我找不到一个简单的方法来做这件事。有什么好办法来实现这一点吗?
发布于 2019-09-22 00:06:14
如果我的理解是正确的,那么这个答案呢?
在这个答案中,使用扩展的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')))}
)
参考文献:
如果我误解了你的问题,而这不是你想要的方向,我道歉。
发布于 2020-06-10 05:14:39
接受的解决方案对我不起作用,但使用clear
方法确实有效。因此,类似于projectSheet.clear()
,然后继续执行批量更新。下面是指向clear
方法https://gspread.readthedocs.io/en/latest/api.html#gspread.models.Worksheet.clear的链接
https://stackoverflow.com/questions/58039980
复制相似问题