首页 > 解决方案 > 如何在Excel中返回未知列长度的非空顶行列值?

问题描述

Python版本:3.6
Python库:openpyxl
Excel版本:365

这将返回 excel 文件顶行 255 列中每个单元格的值。我只放了 255 作为临时停车的地方:

for row in ws.iter_rows(min_row=1, max_col=255, max_row=1, values_only=True):  
     print(row)
  

我不知道每个工作簿中有多少列数据。所有包含数据的顶行单元格将从第 1 列开始连续列出。

当遇到没有数据的顶行单元格时,所有剩余的列/行都将为空。

我需要那些包含值的连续顶行的值。

谢谢你的时间。

标签: pythonpython-3.xopenpyxl

解决方案


如果我理解正确,您可以删除 max_col 值。然后它打印第一行值直到一个空单元格。试试这个:

for row in ws.iter_rows(min_row=1, max_row=1, values_only=True):  
     print(row)

如果您仍然看到许多 None 值,请检查工作表的第一行是否不包含任何错误地插入为 None 的值。我建议您以这种方式调试它:创建一个新的空工作表并手动插入测试数据 - 看看它是否有效。如果它确实将实际工作表中的数据手动复制粘贴到测试工作表中。


推荐阅读