无法将单元格中的 xls 数据与 unicode 字符串进行比较

Unable to compare xls data from a cell with unicode string

我正在导入 .xls 文件并想对写入特定单元格的数据执行一些检查。

我这样做了:

wb = xlrd.open_workbook('foobar.xls')
sheet = wb.sheet_by_index(0)
if sheet.cell_value(0, 3) != u'special' or sheet.cell_value(0, 3) != u'Special':
    error_msg = 'The fourth column head should say "special"'

即使单元格确实显示 'special'

,这也会一直抛出错误

我什至做了 print(sheet.cell_value(0, 3)) 仔细检查。 type(sheet.cell_value(0, 3)) 显示它的 unicode,这就是我做 u'special'.

的原因

为什么 if 语句总是为真?请帮忙

if sheet.cell_value(0, 3) != u'special' or sheet.cell_value(0, 3) != u'Special'

这一行永远为真,因为有一个条件为真。 'True or false' 结果为真。 将 'or' 更改为 'and' - 在这种情况下,两个条件都必须为真,完整的陈述也为真。

if sheet.cell_value(0, 3) != u'special' and sheet.cell_value(0, 3) != u'Special'

这会起作用。