无法将单元格中的 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'
这会起作用。
我正在导入 .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'
这会起作用。