openpyxl поддерживает ограниченный анализ формул, встроенных в ячейки.Пакет openpyxl.formula содержит класс Tokenizer для разбиения формул на составляющие их токены.Токен в формуле Excel.
Токены имеют три атрибута:
- значение: проанализировано строковое значение, которое привело к этому токену (Фактическая формула в нашейФормула IF, как вы написали бы в Excel.)
- тип: строка, идентифицирующая тип токена
- подтип: строка, идентифицирующая подтип токена (необязательно, по умолчанию «»)
Ваша формула медианы. Если формула может отличаться, код ниже приведен только для справки.Он предлагает, как анализировать (или, скажем, проверять) формулы массива, используя openpyxl.Используется следующим образом:
>>> from openpyxl.formula import Tokenizer
>>> tok = Tokenizer("""{=MEDIAN(IF($B$1:$B$6="1234",$A$1:$A$6,""))}""")
>>> tok.type = Token.ARRAY
>>> tok.parse()
Обратите внимание, что openpyxl поддерживает либо формулу, либо значение формулы, которую можно выбрать с помощью флага data_only при открытии книги.Однако openpyxl не рассчитывает и не будет вычислять результат формулы.Используйте один из следующих способов для лучшего контроля над Excel в Python:
- pycel
- xlwings
Атрибуция: документация openpyxl ( Tokenizer )