关于空值的判断
求助各位大佬。我打算将Excel文件的各单元格的内容进行分词处理,但是有的单元格是空单元格。在下面的程序中,我打算用 “if type(ws['E' + str(row)].value) != 'NoneType':” 这个命令来选取非空的单元格进行操作,但是不起作用。请问,我要怎么处理啊?import openpyxl
import jieba
wb = openpyxl.load_workbook('x.xlsx')
ws = wb.active
for row in range(4, ws.max_row + 1):
if type(ws['E' + str(row)].value) != 'NoneType':
words_deal = ws['E' + str(row)].value.strip()# 删除多余空格
words_split = list(jieba.cut(words_deal))# 分词后并得到列表
words_report = ';'.join(words_split) # 列表转化为字符串
ws['E' + str(row)] = words_report # 赋值给单元格
else:
continue
直接判断值
ws['E' + str(row)].value is None 在 Python 中,type() 函数返回的并不是字符串,而是一个类型对象。因此,判断单元格内容是否为空应该使用 is 或 is not 运算符,而不是字符串比较。具体地,可以将 if 语句改为:
if ws['E' + str(row)].value is not None:
# 进行操作
else:
continue
这样就可以正确地选取非空单元格进行操作了。 type 是一个类,返回一个类的类
他会返回参数的类型,返回值也是类。
在你的程序中,
你可以直接判断单元格的值是否为 None
页:
[1]