-1

我正在尝试使用 Python3 创建一个电子表格应用程序,并且很难将其设置为能够执行跨单元格功能,例如:

a0+2

其中 a0 是一个包含字符串的 tkinter 文本框。我制作了一个字典,将每个地址(a0、a1、a2 等)映射到单元格对象,但不确定是否让程序解析字符串以查找地址字符串,或者是否有一些非常巧妙的eval()技巧。我尝试过使用eval(),但我不断收到错误消息

TypeError: globals must be a real dict; try eval(expr, {}, mapping)

无论我把字典放在哪里,或者即使我尝试使用全局演员表。任何帮助,将不胜感激。

4

3 回答 3

2

也许考虑使用类似SymPy而不是eval(). 只要您可以链接符号(如此a0处),它就应该允许使用在单元格中进行计算。

于 2012-11-28T15:11:12.143 回答
1

不要使用 eval 来评估公式。它使人们能够将几乎任何 python 代码放入电子表格中,这意味着您拥有的每个电子表格都能够对您的计算机系统造成无法估量的损害。这是一个非常非常糟糕的主意。

于 2012-11-28T09:09:31.850 回答
-1

我不明白您尝试使用 eval 的目的是什么。简单的例子是如果我们有三个单元格,例如:

a0=3; a1=2; a3=a0+a1

只需将 a0 和 a1 相加,我不介意没有 eval() 你不会得到什么

于 2012-11-28T09:25:58.000 回答