1. 搭建Python环境
通过conda,搭建一个基于Python 3.12的Python环境
conda create -n calcel python=3.12
激活该环境:
conda activate calcel
需要运行Jupyter notebook
的话可安装IPython Kernel for Jupyter
:
conda install -n calcel ipykernel --update-deps --force-reinstall
或
pip install ipykernel
2. 安装formulas
库
formulas
仓库github
地址是:https://github.com/vinci1it2000/formulas
选择全量安装:
pip install formulas[all]
3. 使用带有公式的Excel进行计算
(1)导入formulas
包
import formulas
(2)选择要构建模型的Excel工作簿
# the workbook to be used
workbook_path = './workbook.xlsx'
(3)构造Excel公式模型
# extract the model
xl_model = formulas.ExcelModel().loads(workbook_path).finish()
(3)赋值并计算
# model calculation
cal_res = xl_model.calculate(
inputs={
"'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!B3": 250
},
outputs=[
"'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"
]
)
print(cal_res)
print(cal_res["'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"].value[0, 0])
(4)采用编译成函数的方式进行计算
# compile the model
func = xl_model.compile(
inputs={
"'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!B3",
},
outputs=[
"'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"
]
)
(5)获取计算结果
result = func(250)
print(result)
# retrieve the data
print(result.value[0, 0])
4. 输出依赖关系图
这个功能用到dot
需要Graphviz
支持,安装graphviz
并设置到PATH
环境变量,或下载安装(一般是解压)graphviz
后通过os
强行加载到PATH
中。
,安装pip install graphviz
formulas
时,带有该库,能指向Graphviz
的二进制文件即可。
注意 如果模型很复杂,通过dot
绘图将非常非常久。
tax_model = formulas.ExcelModel().loads('./tax.xlsx').finish()
dsp = tax_model.dsp
dsp.plot(view=False) # Set view=True to plot in the default browser.