如何在Excel中返回未知列长度的非空顶行列值?

2024-09-21 03:20:20 发布

您现在位置:Python中文网/ 问答频道 /正文

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列开始连续列出

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

我需要包含值的连续顶行的值

谢谢你抽出时间


Tags: 文件数据in版本forwscolmin
2条回答

@charlark为我指明了正确的方向。像这样的事情对我来说很管用。但我仍然必须保持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

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

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

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

相关问题 更多 >

    热门问题