使用openpyxl导入Excel至Python:单元格0值判断问题
解决openpyxl判断单元格值时0被误判的问题
问题根源是Python的布尔值判定规则:数字0、空字符串""等会被视为假值,所以原代码if sheet.cell(j, i).value会把单元格中的0(不管是数字0还是字符串"0")误判为无内容。
修改方案
直接判断单元格值是否为None(openpyxl中真正空的单元格值为None),而非依赖布尔隐式转换:
# 方案1:只要单元格不是真正为空(值不为None)就输出Yes if sheet.cell(j, i).value is not None: print("Yes") else: print("No")
如果需要同时排除空字符串(比如单元格编辑后清空,值可能为""),可以用:
# 方案2:排除None和空字符串 cell_val = sheet.cell(j, i).value if cell_val is not None and cell_val != "": print("Yes") else: print("No")
内容的提问来源于stack exchange,提问作者userr-988
相关产品推荐
相关产品推荐

