将Excel公式转换为Python公式用于2D列表

rggaifut  于 7个月前  发布在  Python
关注(0)|答案(2)|浏览(73)

我需要将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]。
我花了几个小时试图弄清楚这一点没有运气。任何帮助将不胜感激。谢谢!

w41d8nur

w41d8nur1#

您需要某种自动化工具(例如X2C),它知道如何将ExcelMap到源代码中的变量。

tyg4sfes

tyg4sfes2#

我的解可能有点长,但它的有效性,特别是在非复方程,在复方程将更难
首先将单元格引用转换为二维数组用途:

="list[" & ROW(INDIRECT("A1"))-1 & "][" & COLUMN(INDIRECT("A1"))-1 & "]"

字符串
如果您的范围从其他单元格开始,而不是“A1”,则从每个项中减去其行和列,然后列出您在公式中使用的所有引用,并使用此公式转换它们下一步使用find()检测引用名称是否存在于公式中,如果存在,则将其替换

完整的方程

注意等式被转换为文本首先通过add =”at开始and“在末尾和在第二行到末尾我使用上面的单元格转换下一项

相关问题