我正在阅读 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)
或
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,这只是我在文档中阅读最多的部分。
提前致谢!
最佳答案
对于 ws[F3:W…]
,ws.iter_cols(min_row=3, min_col=6, max_col=23)
有什么问题?如果没有指定最大值,openpyxl 将尽可能地迭代。
关于python - openpyxl - 迭代列和行以从工作表中间获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614237/