python - 通过 gspread Python 删除(删除)谷歌表中的列,如 sheet.delete_row
问题描述
gspread google-sheet 中是否有类似 worksheet.delete_row 的方法?我试过:
delete = sheet.range('A1:A1000')
for cell in delete:
cell.value = ""
sheet.update_cells(delete)
但这只会删除所有值,而不是列。任何人都可以帮助我吗?
解决方案
回答:
没有gspread
删除整个列的方法,例如Workbook.delete_row
,但是您可以通过批量更新来执行此操作。
代码示例:
spreadsheetId = "your-spreadsheet-id"
sheetId = "id-of-sheet-to-delete-column-from"
sh = client.open_by_key(spreadsheetId)
request = {
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "COLUMNS",
"startIndex": 0,
"endIndex": 1
}
}
}
]
}
result = sh.batch_update(request)
此示例将删除 A 列,但请确保将startIndex
和更改endIndex
为您要删除的列范围。
编辑:
如果您不知道sheetId
给定工作表的,您可以使用以下方法获取它:
sheetName = "theSheetName"
sheetId = sh.worksheet(sheetName)._properties["sheetId"]
请注意,电子表格的原始工作表不需要这样做,因为它始终是0
.
参考:
2020 年 4 月 15 日更新:
这个脚本今天从pull request #759作为 method与gspread
master合并。delete_column()
该方法将在下一个版本中提供
v3.5.0
。
一个 for 的方法delete_columns()
也作为并行方法添加到delete_rows()
来自pull request #761的现有方法中。
推荐阅读
- java - 使用 Java 的 DoNotForward Graph Api 事件
- wordpress - 基于首次打开的浏览器重定向
- solidity - Solidity 结构体
- batch-file - 批处理文件 - 为什么在 Foreach 中设置变量会中断循环?
- python - 如何编写打印出从 1 到输入数字的所有正整数值并且每对数字翻转的程序?
- c - Glade2.2“lang C”按钮点击后隐藏窗口
- azure - 无法通过 azure-sdk-for-go 从 azure ad 获取应用程序域
- typo3 - TYPO3 自定义扩展的新标签
- python - 使用 Alpha Vantage 绘制 1 分钟数据
- python - 将函数转化为模型并获取模型摘要