Python 使用Formulas库调用Excel公式进行计算

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])

compile计算结果

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.

dot输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Humbunklung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值