Может кто-нибудь объяснить мне разницу в следующем коде:
Я использую Openpyxl для перебора документа * .XLSX (столбец рабочей таблицы C) и возврата координаты ячейки из списка (column_names).
def get_heading_coordinates():
for cell in ws['C']:
for i in range (0, len(column_names)):
if cell.value == str(column_names[i]):
sec3_start = cell.offset(1,0).coordinate
sec3_end = str(cell.offset(-1,0).coordinate)
print(sec3_end)
Результат печати - C252 , который является координатой ячейки. Это работает правильно для моего приложения.
В приведенном ниже коде я пытаюсь использовать словарь.
def get_heading_coordinates():
range_dictionary = {'0': 'cell.offset(1, 0).coordinate', '1': 'cell.offset(-1, 0).coordinate'}
for cell in ws['C']:
if cell.value == str(column_names[1]):
sec3_start = list(range_dictionary.values())[1]
print(sec3_start)
Результаты печати: cell.offset (-1, 0). Координата , как я понимаю, это значение из словаря. Это работает неправильно для моего приложения. Я пытаюсь назначить переменную sec3_start для получения координаты ячейки, как это было в первой функции.
Я пробовал:
Я что-то упускаю из виду?