Итерация по верхней строке листа Excel

У меня есть следующий раздел кода, который использует openpyxl для поиска в верхней строке электронной таблицы и поиска первого элемента, который не содержит значения. Он возвращает следующую ошибку, когда я запускаю его. Есть лучший способ сделать это? Или как избавиться от ошибки?

val = "something"
j = 1
titleIndex = None
while val != None:
    val = lecture['%s1' % chr(ord('@') + j)].internal_value
    print val
    print j
    j += 1
else:
    titleIndex = '%s1' % chr(ord('@') + j - 1)

Файл "C:\Users\ecustodio\Documents\Python Scripts\ExcelIterate.py", строка 14, в set_title val = лекция['%s1' % chr(ord('A') + j)].internal_value Файл "C :\Users\ecustodio\AppData\Local\Continuum\anaconda2\lib\site-packages\openpyxl\worksheet\worksheet.py", строка 345, в getitem min_col, min_row, max_col, max_row = range_boundaries (ключ) Файл "C:\Users\ecustodio\AppData\Local\Continuum\anaconda2\lib\site-packages\openpyxl\utils\cell.py", строка 135, в range_boundaries поднять ValueError("{0} не является допустимая координата или диапазон") ValueError: {0} не является допустимой координатой или диапазоном


person Ethan Custodio    schedule 19.09.2018    source источник
comment
строка, на которую ссылается трассировка, является 5-й строкой кода   -  person Ethan Custodio    schedule 19.09.2018
comment
Используйте ws.iter_rows(min_row=1, max_row=1) или ws[1]   -  person Charlie Clark    schedule 19.09.2018
comment
Возможный дубликат Перебор рабочих листов, строк, столбцов   -  person stovfl    schedule 19.09.2018


Ответы (1)


Насколько я вижу, линия

val = lecture['%s1' % chr(ord('A') + j)].internal_value

указанное в сообщении об ошибке отличается от того, что указано в коде:

val = lecture['%s1' % chr(ord('@') + j)].internal_value

Пожалуйста, проверьте значение '%s1' % chr(ord('@') + j) или что-то еще, прежде чем запрашивать элемент у lecture. И убедитесь, что ваш lecture действительно существующий рабочий лист.

person StSav012    schedule 19.09.2018