openpyxl-遍历列和行以从表中间获取数据

cha*_*ilk 3 python excel loops worksheet openpyxl

我正在阅读openpyxl的文档,我需要一些更具体的信息,并且不确定是否可以使用iter_rows或iter_cols来实现。

在文档中,它说这样做是为了获取行和列:

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
  for cell in row:
    print(cell)
Run Code Online (Sandbox Code Playgroud)

要么

for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
  for cell in col:
    print(cell)
Run Code Online (Sandbox Code Playgroud)

这样做会给我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,这只是我在文档中最多阅读的部分。

先感谢您!

Cha*_*ark 5

这是怎么ws.iter_cols(min_row=3, min_col=6, max_col=23)ws[F3:W…]?如果未指定最大值,则openpyxl将保持尽可能的迭代。