从.xlsx文件打印唯一值

时间:2016-11-28 05:27:10

标签: python openpyxl

我有一个包含数据的excel文件。我感兴趣的专栏(A栏)要么包含一个空白单元格,单个字符“Y”,单词“Runmode”或我感兴趣的唯一值。

我只想提取唯一值并将其打印到控制台,但遇到了麻烦。

我正在使用openpyxl来解析.xlsx文件。

    wb = load_workbook(location + '\\' + suite)
    data_sheet = wb['Data']
    for i in range(1, data_sheet.max_row + 1):
        cell_value = data_sheet['A' + str(i)].value
        if cell_value is not 'Y' and cell_value is not 'Runmode' and cell_value is not None:
            print(cell_value == 'Runmode')
            print(repr(cell_value), cell_value, 'success')

输出正在打印'Runmode',即使它将True等同于我告诉我的脚本要忽略的值。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

您应该使用==测试字符串的相等性,就像在print语句中一样。或者至少你应该制作你的印刷声明:

print(cell_value is 'Runmode')

确保你检查同样的事情。

is==之间的这种差异,例如,如果cell_value是unicode并且您使用的是Python 2.7。

Steven Rumbalski指出你最好将if声明重写为:

  if cell_value not in ('Runmode', 'Y', None):