2013-01-31 175 views

回答

1

閱讀源代碼似乎沒有這種方法來直接刪除行 - 只有方法來添加它們或.resize()方法來調整工作表的大小。 談到獲取行號,有一個.row_count()方法應該爲你做這項工作。

+0

感謝您的答覆..我knowe沒有方法來刪除/刪除記錄,並在第二點,ROW_COUNT給人號碼或行包括空白數據,但我只希望計數那些有數據的行 – Chintan

+0

然後你的問題還沒有足夠詳細。在這種情況下,你可以迭代每一行,檢查它是否包含任何數據並且如果它包含數據。 – SpankMe

+0

再次感謝,但假設在電子表格中有1000條記錄(包括空白數據),並逐一檢查所有行......它花費太多時間......它對我來說不起作用...... – Chintan

1

你能準確指定你想刪除行/記錄嗎?他們在一張紙的中間嗎?底部?最佳?

我曾經有過一種情況,我想在我處理完頭部數據後擦除除頭部之外的所有數據。要做到這一點,我只是調整了兩次工作表的大小。

#first row is data header to keep  
worksheet.resize(rows=1) 
worksheet.resize(rows=30) 

這是一個簡單的蠻力解決方案,用於在不刪除工作表的情況下擦拭整個工作表。

與數據count行

一種方法是下載使用get_all_records()然後檢查該對象的長度JSON對象中的數據。該方法返回最後一個非空行之上的所有行。如果它後面的一行不是空白的,它將返回空白的行,但不會拖尾空白。

+0

我發現這個答案真的很有幫助。速度是最好的事情。 – Ayoub

3

由於gspread版本0.5.0(2016年12月),您可以刪除一行delete_row()

例如,刪除一行指數42,你這樣做:

worksheet.delete_row(42) 
+0

我想在1000行的電子表格上嘗試delete_row(15),並且在運行10分鐘後仍然如此。預計會持續多久?刪除行時是否執行以下行的任何複製粘貼? – apadana

相關問題