Chi*_*tan 10 python google-sheets gspread
我想使用该gspread库从谷歌电子表格中删除记录.
另外,如何在google电子表格中获取行数/记录数?gspread提供.row_count(),返回总行数,包括空白行,但我只想计算有数据的行.
从 gspread 0.5.0 版(2016 年 12 月)开始,您可以删除带有delete_row().
例如,要删除索引为 42 的行,请执行以下操作:
worksheet.delete_row(42)
Run Code Online (Sandbox Code Playgroud)
您能否准确指定要删除行/记录的方式?他们在一张纸的中间吗?底部?最佳?
我有一种情况,我想在处理完标题后擦除除标题之外的所有数据。为此,我只调整了工作表的大小两次。
#first row is data header to keep
worksheet.resize(rows=1)
worksheet.resize(rows=30)
Run Code Online (Sandbox Code Playgroud)
这是一个简单的蛮力解决方案,用于在不删除工作表的情况下擦除整个工作表。
一种方法是使用 json 对象下载数据,get_all_records()然后检查该对象的长度。该方法返回最后一个非空白行上方的所有行。如果后面的行不是空白,但不是尾随空白,它将返回空白行。
worksheet.delete_row(42)已弃用(2021 年 12 月)。现在您可以使用以下方法获得相同的结果
worksheet.delete_rows(42)
Run Code Online (Sandbox Code Playgroud)
新功能增加了能够通过以下方式同时删除多行的功能
worksheet.delete_rows(42, 3)
Run Code Online (Sandbox Code Playgroud)
它将删除从第 42 行开始的接下来的三行。
请注意,它从 1 开始计数行(因此不是基于零的编号)。
阅读源代码,似乎没有这样的方法可以直接删除行 - 只有添加行的方法或.resize()调整工作表大小的方法。当涉及到获取行数时,有一种.row_count()方法可以为您完成这项工作。
| 归档时间: |
|
| 查看次数: |
6082 次 |
| 最近记录: |