用于CSV文件的ELSE语句无效

时间:2015-06-21 15:42:36

标签: python python-2.7 csv if-statement for-else

我正在尝试为ELSE文件中的变量添加CSV语句。

CSV文件:

abcd, qwerty, aoo9
afjd, wijfs, aaaa
12as, 54as, oozz

我尝试过以下方法:

string1 = raw_input('User input: ')
with open('FILE.csv', "rb") as csvfile:
        z = csv.reader(csvfile, delimiter=',')
        for row in z:
            if string1 in row[1]: 
                print 'A' 
            else:
                print 'B'
                sys.exit()

但是,无论用户的输入是否在 row[1]中,它仍会打印“B”。

我希望如果用户输入qwertywijfs54as作为字符串1,它们都位于row[1],则会打印出{{1}但是,如果用户为string1输入的内容不在A中,则会打印“row[1]

我也尝试过:

B

但这也不起作用。

感谢。

2 个答案:

答案 0 :(得分:1)

您的CSV文件包含空格。如果您输入" querty"而非"querty",则您的计划将按预期行事。

您可以修改CSV文件或使用strip功能删除row[1]的前导和尾随空格。

或使用skipinitialspace的{​​{1}}参数。 ;)

答案 1 :(得分:0)

显然,variablerow[1]不包含您认为包含的内容。添加如下的打印声明:

    for row in z:
        print '<{}> ?= <{}>'.format(variable, row[1]) # add this line.
        if variable in row[1]: 

查看这两个变量中的内容(包括前导或尾随空格)。最有可能的是,它们不会包含您认为包含的内容。