pycel icon indicating copy to clipboard operation
pycel copied to clipboard

Absolute and relative references are converted to identical Python code.

Open manns opened this issue 1 year ago • 0 comments

In order to create an xlsx importer for pyspread, I am trying to convert the formula =AVERAGE($C$1:$C$3) into Python code.

I am getting the code average(_R_("C1:C3")).

However, I would expect to get average(_R_("$C$1:$C$3")).

The problem is that both absolute and relative references are converted to identical Python code. Therefore, I do not see how to implement differentiated relative and absolute reference behavior from imported Excel files in pyspread. (Note that for this reason, the functions _R_ and _C_ are re-implemented in pyspread.)

I am using the following code:

ex = excelformula.ExcelFormula(value)
code = ex.python_code

Environment

pycel 1.0b30 Python 3.11.6 Manjaro Linux (KDE)

manns avatar Jan 27 '24 22:01 manns