Итерация по верхнему ряду листа Excel - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть следующий раздел кода, который использует 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 = lecture ["% s1"% chr (ord ('A') + j)]. файл внутреннего_состояния "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} не является действительной координатой или диапазоном

1 Ответ

0 голосов
/ 19 сентября 2018

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

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

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

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

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

...