2016-11-28 74 views
1

我有一个包含数据的excel文件。我感兴趣的列(A列)包含空白单元格,单个字符“Y”,单词“Runmode”或我感兴趣的唯一值。从.xlsx文件打印唯一值

我只想抽出独特的价值和打印到控制台,但有麻烦。

我使用的是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') 

输出打印'运行模式',即使它等于一个值,我告诉我的脚本忽略。我错过了什么吗?

回答

2

您应该像在打印语句中一样使用==来测试字符串的相等性。或者至少你应该让你的打印声明:

print(cell_value is 'Runmode') 

确保你检查同样的事情。

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

正如史蒂芬Rumbalski指出你最好重写if声明:

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