Python словари и Openpyxl - PullRequest
       2

Python словари и Openpyxl

0 голосов
/ 23 января 2020

Может кто-нибудь объяснить мне разницу в следующем коде:

Я использую 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 для получения координаты ячейки, как это было в первой функции.

Я пробовал:

  • range_dictionary.values ​​()

  • range_dictionary.get (str (1))

Я что-то упускаю из виду?

...