我一直在尝试将 Excel 工作簿中的公式转换为 Python 脚本中的等效 Python 函数或语句。
在我的工作场所,我们有旧的 Excel 工作簿,用于工程过程中的计算(例如设计混凝土结构)。这些计算涉及到很多公式以及公式之间的引用。我想将这些工作簿中的公式转换为“等效”Python 函数,结果是这些 Excel 工作簿随后被 Python 脚本替换(出于与这些技术文档的可维护性和工作流程验证有关的原因)。
用一个基本的例子来演示原理。
如果有一个包含一张工作表的 Excel 工作簿(名称 = Sheet1)
value in cell A1 = 2
value in cell A2 = 3
value in cell A3 = '=A1+A2' = 5
Run Code Online (Sandbox Code Playgroud)
我想将其转换为以下 Python 函数:
def A3(A1,A2):
return A1+A2
Run Code Online (Sandbox Code Playgroud)
或者使用全局变量
A3 = 0
def A3(A1,A3):
A3 = A1 + A3
Run Code Online (Sandbox Code Playgroud)
另一个涉及条件语句的更复杂的示例:
包含两个工作表的 Excel 工作簿(“Sheet1”和“Sheet2”)
Sheet1!A1 = 2
Sheet1!A2 = 3
Sheet1!A3 = False
Sheet2!A1 = '=IF(Sheet1!A3 == True; Sheet1!A1+Sheet1!A2; Sheet1!A1*Sheet1!2)' = …Run Code Online (Sandbox Code Playgroud)