2015-11-05 282 views
4

我正在使用openpyxl將數據驗證放入其中具有「默認」的所有行。但要做到這一點,我需要知道有多少行。如何使用openpyxl正常工作簿查找列中的最後一行?

我知道有一種方法可以做到這一點,如果我是使用可迭代的工作簿模式,但我還添加了一個新的工作表到工作簿,並在迭代模式是不可能的。

+0

的可能的複製[是否有可能得到一個Excel文檔的行數沒有將整個文檔加載到內存中?(http://stackoverflow.com/questions/13377793/is-it-possible-to-get-an -excel的文檔,行數,而無需加載最全-d) – Torxed

回答

17

ws.max_row會給你的行數在工作表中。

從版本2.4 openpyxl您還可以訪問各個行和列,並使用它們的長度來回答這個問題。

len(ws['A'])

雖然值得注意的是,對於單個列的數據驗證Excel使用1:1048576

+2

然而,'ws.max_row'不會檢查是否最後一行是空的或沒有。如果使用_Del_鍵刪除工作表末尾的單元格_content_或刪除重複項,則數據末尾的剩餘空行仍將計爲已用行。如果您不想保留這些空行,您必須通過選擇電子表格左側的行號並刪除它們(右鍵單擊所選行號 - >刪除)來刪除這些**整行**行。 –

+0

這不是問題,但它是什麼? –

相關問題