2017-04-25 43 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