Инструкция ELSE для файла CSV не работает
Я пытаюсь вписаться в ELSE
заявление для переменной в CSV
Файл.
CSV-файл:
abcd, qwerty, aoo9 Afjd, Wijfs, аааа 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
".
Я ожидаю, что если пользовательский ввод qwerty
, wijfs
, или же 54as
как string1, которые все лежат в row[1]
напечатаю A
', однако, если пользователь вводит что-то для string1, это не в row[1]
напечатаю B
'
Я также попробовал:
elif variable not in row [1]: #...
Но это тоже не работает.
Благодарю.
2 ответа
Ваш CSV-файл содержит пробелы. Ваша программа будет вести себя как положено, если вы введете " querty"
вместо "querty"
,
Вы можете изменить файл CSV или использовать strip
функция для удаления начальных и конечных пробелов row[1]
,
Или используйте skipinitialspace
параметр csv.reader
,;)
Очевидно, что либо variable
или же row[1]
не содержит то, что вы думаете, что оно содержит. Добавьте оператор печати следующим образом:
for row in z:
print '<{}> ?= <{}>'.format(variable, row[1]) # add this line.
if variable in row[1]:
чтобы увидеть, что находится в этих двух переменных (в том числе в начале или конце пробела). Скорее всего, они не будут содержать то, что вы думаете, они содержат.