我想使用gspread
庫從Google電子表格中刪除記錄。如何使用gspread lib從谷歌電子表格刪除/刪除行。在python中?
另外,如何才能獲得谷歌電子表格中的行/記錄數? gspread
提供了.row_count()
,它返回總行數,包括那些空白的行,但我只想對有數據的行進行計數。
我想使用gspread
庫從Google電子表格中刪除記錄。如何使用gspread lib從谷歌電子表格刪除/刪除行。在python中?
另外,如何才能獲得谷歌電子表格中的行/記錄數? gspread
提供了.row_count()
,它返回總行數,包括那些空白的行,但我只想對有數據的行進行計數。
閱讀源代碼似乎沒有這種方法來直接刪除行 - 只有方法來添加它們或.resize()
方法來調整工作表的大小。 談到獲取行號,有一個.row_count()
方法應該爲你做這項工作。
你能準確指定你想刪除行/記錄嗎?他們在一張紙的中間嗎?底部?最佳?
我曾經有過一種情況,我想在我處理完頭部數據後擦除除頭部之外的所有數據。要做到這一點,我只是調整了兩次工作表的大小。
#first row is data header to keep
worksheet.resize(rows=1)
worksheet.resize(rows=30)
這是一個簡單的蠻力解決方案,用於在不刪除工作表的情況下擦拭整個工作表。
一種方法是下載使用get_all_records()
然後檢查該對象的長度JSON對象中的數據。該方法返回最後一個非空行之上的所有行。如果它後面的一行不是空白的,它將返回空白的行,但不會拖尾空白。
我發現這個答案真的很有幫助。速度是最好的事情。 – Ayoub
嘗試pygsheets,它有一個delete_rows方法。
由於gspread版本0.5.0(2016年12月),您可以刪除一行delete_row()
。
例如,刪除一行指數42,你這樣做:
worksheet.delete_row(42)
我想在1000行的電子表格上嘗試delete_row(15),並且在運行10分鐘後仍然如此。預計會持續多久?刪除行時是否執行以下行的任何複製粘貼? – apadana
感謝您的答覆..我knowe沒有方法來刪除/刪除記錄,並在第二點,ROW_COUNT給人號碼或行包括空白數據,但我只希望計數那些有數據的行 – Chintan
然後你的問題還沒有足夠詳細。在這種情況下,你可以迭代每一行,檢查它是否包含任何數據並且如果它包含數據。 – SpankMe
再次感謝,但假設在電子表格中有1000條記錄(包括空白數據),並逐一檢查所有行......它花費太多時間......它對我來說不起作用...... – Chintan