openpyxl似乎是使用Python读取Excel文件的一种很好的方法,但我遇到了一个经常出现的问题。我需要检测一个单元格是否为空,但似乎无法比较任何单元格属性。我试着将其转换为字符串,并使用"",但这是行不通的。当单元格为空时,它的类型是None,或NoneType,但我不知道如何将一个对象与之进行比较。
有什么建议吗?据我所知,openpyxl正在开发中,但这可能更多地是一个一般的Python问题。
发布于 2011-12-06 22:46:03
若要在单元格不为空时执行某些操作,请添加:
if cell.value:在python中,它与单元格值不为None (即:如果不是cell.value == None:)相同。
注意:为了避免检查空单元格,可以使用
worksheet.get_highest_row()和
worksheet.get_highest_column()此外,我发现它很有用(尽管可能不是一个很好的解决方案),如果您想将单元格的内容作为字符串使用,而不管您可以使用什么类型:
unicode(cell.value)发布于 2015-12-27 08:18:26
这对我有用。
if cell.value is None:
    print("Blank")
else:
    print("Not Blank")发布于 2018-05-19 11:30:08
这个
if cell.value is None:是在这种情况下使用的最佳选择。
如果您希望在迭代中使用它,可以这样使用它:
ws=wb.active
names=ws['C']
for x in names:
    if x.value is None:
        break
    print(x.value)ws.max_column和ws.max_row的问题是,它也会计算空列,从而违背了目的。
https://stackoverflow.com/questions/7907928
复制相似问题