2015-08-25 1 views
0

Мне нужно обработать 300 строк и записать данные в файл excel с помощью openpyxl. Я использую for loop для обработки строк. Но если приходит слово «Конец», тогда цикл прерывается и переходит в 501-ю строку.Python для утверждения. Необходимо разбить последние данные цикла

Моя проблема заключается в том, что на 300-й строке есть слово «Конец». Таким образом, последняя строка и слово «Конец» объединяются. Логически, программа должна сломаться и перейти к строке 501. Но моя программа игнорирует слово «Конец», обрабатывает 300-ю строку и перескакивает на 301-ю строку.

for count_300 in range (155, 300): 
      cell_value_Y = ws.cell(row = row_break, column = Col_Y).value 
      if(cell_value_Y == 'End') and (re.search(r'\Slide\b', cell_value_Z)): 
       row_break += 1 
       loop_break = 'TRUE' 
       print ('Break inside the loop =', cell_value_Y) 
       break 
+2

Вы уверены, что значение '«End'' и не '» End'' или 'End '' или 'End \ n'' (и т. д.)? –

+0

Да, слово MovieEnd. – prj

+1

Ваш комментарий для меня не имеет смысла. ''MovieEnd'! = 'End''. Каково значение 'cell_value_Y', где вы хотите его разбить? (Распечатайте его или посмотрите на него в отладчике.) –

ответ

1

Вы могли бы пользователь endswith функция

>>> cell_value_Y='MovieEnd' 
>>> cell_value_Y.endswith('End') 
True 

Пожалуйста, обратитесь string functions для других полезных функций для встроенных строки

+0

также диапазон увеличения до диапазона (155, 301) согласно комментарии @Eric Leviell. иначе он только достигнет ячейки 299 – PythonTester

Смежные вопросы