如何在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列开始连续列出。

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

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

感谢您的宝贵时间。

@ charliclark为我指明了正确的方向。这样的事情对我很有用。我仍然必须保持max_col=255,否则会出错。

def column_get():
i = 1
for row in ws.iter_rows(min_row=1, max_col=255, max_row=1, values_only=True):
for x in row:
if row[i] is not None:
print(row[i])
i += 1
else:
break

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

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

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

相关内容

最新更新