2017-04-25 260 views
1

我讀了openpyxl的文件中獲取數據,我需要一些更具體的,我不知道是否有一種方法使用iter_rows做或iter_cols。openpyxl - 遍歷列和行從表

在文檔,它說,這樣做是爲了搶行和cols:

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): 
    for cell in row: 
    print(cell) 

for col in ws.iter_cols(min_row=1, max_col=3, max_row=2): 
    for cell in col: 
    print(cell) 

這樣做會給我A1,B1,C1等或A1, A2,B1,B2等。

但有沒有辦法來操縱這個,所以你可以從工作表中的另一點抓取數據?

我試圖抓住單元格從F3到W3例如。但我不確定有多少行,可能有5個,可能有10個。因此,我需要抓住F4到W4,等到最後一個可能是F10到W10或其他東西。

我明白iter_rows和iter_cols是如何工作的,但我還沒有找到一種方法來操縱它到別處開始,如果有沒有留下其他的值達到了盡頭?看起來我必須定義max_rows來確定工作表中有多少行。有沒有辦法讓它檢查最大數量的行本身?

我最大的問題就是如何通過在紙的中間而不是開頭開始行迭代。它不必使用iter_rows或iter_cols,這只是我在文檔中閱讀最多的部分。

預先感謝您!

回答

2

ws.iter_cols(min_row=3, min_col=6, max_col=23)ws[F3:W…]怎麼了?如果沒有指定最大值,openpyxl將盡可能地繼續迭代。

+0

好吧,我不知道爲什麼我沒有想到要修改這樣......但我只是做了我結束了修改它多一點,但我認爲我得到了我所需要的。謝謝! – chakolatemilk