簡體   English   中英

CSV 文件的 ELSE 語句不起作用

[英]ELSE Statement for CSV file not working

我正在嘗試為CSV文件中的變量添加ELSE語句。

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作為 string1 ,它們都位於row[1] ,它將打印“ A ”,但是如果用戶輸入 string1 的某些內容不在row[1] ,它將打印打印“ B

我也試過:

elif variable not in row [1]: #...

但這也行不通。

謝謝。

您的 CSV 文件包含空格。 如果您輸入" querty"而不是"querty"您的程序將按預期運行。

您可以修改 CSV 文件或使用strip函數刪除row[1]前導和尾隨空格。

或者使用skipinitialspace的參數csv.reader ;)

顯然, variablerow[1]不包含您認為它包含的內容。 添加打印語句如下:

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

查看這兩個變量中的內容(包括前導或尾隨空格)。 最有可能的是,它們不會包含您認為它們包含的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM