Мне нужно скопировать формулу из столбца, определенного программным способом, в соседний столбец, и мне нужна ссылка на ячейку формулы для перемещения столбца.Например, в ячейке E2 есть формула ='Copy ATDs'!B60
, и мне нужно скопировать формулу в ячейку F2 как ='Copy ATDs'!C60
Пример в документации выглядит следующим образом (sic):
>>> from openpyxl.formula.translate import Translator
>>> ws['F2'] = "=SUM(B2:E2)"
>>> # move the formula one colum to the right
>>> formula = Translator("=SUM(B2:E2)", "G2")
'=SUM(C2:F2)'
Я понимаю этоозначает, что функция Translator будет возвращать формулу, которая транспонируется одним столбцом, если второй аргумент перемещается на один столбец.
Код, который я использую, выглядит следующим образом:
new_cell_ref = ws_dt.cell(column=source_col, row=r).offset(row=0, column=1).address()
ws_dt.cell(column=new_col, row=r).value = \
Translator(ws_dt.cell(column=source_col, row=r).value, \
new_cell_ref.column + str(new_cell_ref.row)).tokenizer.formula
Кажется, функция Translator не заботится о втором аргументе.Он последовательно возвращает исходную формулу, не переводя ничего.Пожалуйста, помогите мне понять, что я делаю неправильно.