2016-06-07 1 views
1
jurisdiction == "Brazil" 

if jurisdiction == "Brazil": 
    for rowOfCellObjects in sheet['A2':'A5']: 
     for cellObj in rowOfCellObjects: 
      if cellObj.value == 'Germany': 
       print(cellObj.value) 
      else: 
       print("No") 
else: 
    print("Try Again") 

Я точно знаю, что «Германия» представляет собой строку в выбранных ячейках на листе. Когда вы печатаете cellObj.value, он возвращает «Германия». Однако, когда я прошу его сопоставить «если cellObj.value ==« Германия », он всегда возвращает нет. Любая помощь будет оценена по достоинству.Как я могу сопоставить переменную с значением cellObj и проверить, совпадают ли они?

+0

Пожалуйста, удалите «юрисдикцию» пункт из вашего кода, это только добавляет шум. –

+0

Может быть, попробуйте явно лить 'cellObj.value' строку? –

ответ

0

Если вы считаете, что код верный, но каким-то образом библиотека или компьютер пытается обмануть вас, вам следует исследовать его дальше.

Например, добавление кода отладки для печати или регистрации координаты ячейки и ее значения поможет вам изолировать такие проблемы, как конечные пробелы или unicode/byte confusion.

0

Вы пытались использовать iter_rows()?

Я никогда не итерация над листом, как вы пытаетесь сделать, но я сделал это вместо:

if jurisdiction == "Brazil": 
    for rowOfCellObjects in sheet.iter_rows('A2:A5'): 
     for cellObj in rowOfCellObjects: 
      if cellObj.value == 'Germany': 
       print(cellObj.value) 
      else: 
       print("No") 
else: 
    print("Try Again") 
Смежные вопросы