Python Formulas模型以JSON格式文件导出导入

1. 导入formulasjson

在加载模型之前,导入formulasjson包。

bash 复制代码
import formulas, json

2. 加载Excel模型

加载一个公式复杂的Excel模型,该模型耗时较长,我们可以观察使用json格式是否能更高效。

python 复制代码
xl_model = formulas.ExcelModel().load('./workbook.xlsx').finish()

3. 导出为JSON文件

将模型转化为可JSON化的字典(dict)类,然后通过json.dumps输出到json文件中。

python 复制代码
xl_dict = xl_model.to_dict()  # To JSON-able dict.

with open('./xl_model.json', 'w', encoding='utf-8') as model_out:
    json.dump(xl_dict, model_out, ensure_ascii=False, indent=True) # to JSON, and save it to a file.

4. 导入JSON文件

读取JSON格式Excel模型文件,并以字典(dict)方式加载模型。事实上效果和直接加载Excel是一样的,耗时也差不多。

python 复制代码
data = {}
with open('./xl_model.json', 'r', encoding='utf-8') as model_in:
    data = json.load(model_in)
loaded_model = formulas.ExcelModel().from_dict(data)  # From JSON.    

5. 计算示例

python 复制代码
# model calculation
cal_res = loaded_model.calculate(
    inputs={
        "'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!B3": 280
    },
    outputs=[
        "'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"
    ]
)
print(cal_res["'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"].value[0, 0])

计算结果:771.4635658334801

python 复制代码
cal_res = loaded_model.calculate()
print(cal_res["'[workbook.xlsx]管道计算 (混凝土管道简化指标)'!AJ3"].value[0, 0])

计算结果:792.8609135167501

相关推荐
爱勇宝5 小时前
大多数人不是在使用 AI 赚钱,而是在帮 AI 公司赚钱
前端·后端·程序员
冬奇Lab6 小时前
每日一个开源项目(第143篇):page-agent - 纯 JS 的网页 GUI Agent,无需截图、无需插件、无需后端
前端·人工智能·agent
IT_陈寒10 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
金銀銅鐵11 小时前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab11 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
追逐时光者11 小时前
别再满网找零散工具了,腾讯 QQ 浏览器这个“帮小忙”工具箱真能省时间
前端·后端
带派擂总12 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
Asmewill13 小时前
grep&curl命令学习笔记
前端
stringwu13 小时前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
用户21366100357215 小时前
Vue2组件化开发与父子通信
前端·vue.js