python - Python xlcalculator 定义名称功能似乎不起作用
问题描述
我正在设置一个“定义的名称”“foo”并将其与单元格“B24”相关联。我在单元格 B25 中设置了一个公式,如下所示:'=B2*foo'。单元格 B2 的值为 1000,B24 的值为 3。评估值需要为 3000。报告的输出值为 0。
起作用的python代码是:
input_dict2 = {
"B4": 0.95,
"B2": 1000,
"B19": 0.001,
"B20": 4,
# B21
"B22": 1,
"B23": 2,
"B24": 3,
"B25": "=B2*foo",
"B26": 5,
"B27": 6,
"B28": "=B19*B20*B22",
"C22": "=SUM(B22:B28)",
}
compiler = ModelCompiler()
compiler.defined_names={"foo":"Sheet1!B24"}
compiler.read_and_parse_dict(input_dict2)
compiler.build_defined_names()
compiler.link_cells_to_defined_names()
my_model2 = compiler.model;
evaluator2 = Evaluator(my_model2)
for formula in my_model2.formulae:
print("Formula", formula, "evaluates to", evaluator2.evaluate(formula))
执行输出为:
Formula Sheet1!B25 evaluates to 0.0
Formula Sheet1!B28 evaluates to 0.004
Formula Sheet1!C22 evaluates to 17.004
问题仅在于包含定义名称的公式。其他公式工作正常。想知道这里是否存在错误,或者我是否没有正确设置定义的名称操作。
解决方案
推荐阅读
- python - sympy 的 ConditionSet 对象不可迭代
- python - 每次我从一个环境跳转到另一个环境时,VS Code 都会启动 python 进程,每个人都会消耗大约 100% 的 CPU
- javascript - 如何在JS中构造多个包之间的导出和导入
- android - 在此代码中,上下文不需要工作:找到上下文:上下文?
- python - 无法使用 Python 2.7.18 连接到 NBD 服务器
- c - 如何使用 ncurses 将整数作为变量?
- laravel - 将一个添加到数据库中的最后一条记录。拉拉维尔
- android - 使用 Hilt 的自定义范围
- angular - 在 Angular 路由中使用 replaceUrl 以省略浏览器历史记录中的重定向
- docker - docker容器访问旧版本