我需要将Excel方程的字符串转换为Python代码,以便它可以括号成2D列表并给予我答案。在这种情况下,列使用字母命名(A到Z),行命名(1到26)。因此,例如,我有:
list = [[1,1],
[1,1]]
字符串
字符串是:
my_str = "=A2 + 1"
型
我需要把它转换成:
list[1][0] + 1
型
或者另一个例子:
my_str = "=B2 + A2"
型
转换为:
list[1][1] + list[1][0]
型
请注意,由于列和行的命名方式,我需要切换字母和数字,因此A2将是2A,然后是[1][0]。
我花了几个小时试图弄清楚这一点没有运气。任何帮助将不胜感激。谢谢!
2条答案
按热度按时间w41d8nur1#
您需要某种自动化工具(例如X2C),它知道如何将ExcelMap到源代码中的变量。
tyg4sfes2#
我的解可能有点长,但它的有效性,特别是在非复方程,在复方程将更难
首先将单元格引用转换为二维数组用途:
字符串
如果您的范围从其他单元格开始,而不是“A1”,则从每个项中减去其行和列,然后列出您在公式中使用的所有引用,并使用此公式转换它们下一步使用find()检测引用名称是否存在于公式中,如果存在,则将其替换
完整的方程
注意等式被转换为文本首先通过add =”at开始and“在末尾和在第二行到末尾我使用上面的单元格转换下一项