Python openpyxl:当单元格的值是函数或方程时,我如何计算它们



我正试图使用库openpyxl从一些excel文件中计算数据。

现在我在函数或方程的单元格值方面遇到了麻烦。

例如:

我可能在下面有这样两个cell.value

ws = openpyxl.load_work(xl_path)['Sheet1']
print(ws['B1'].value)
print(ws['B2'].value)
[output:]
= A1+A2    # Actually, the true value may be 1(A1) + 2(A2) -> 3
= A2*A4    # Actually, the true value may be 1(A1) * 4(A4) -> 4

当我计算它时,我得到的不是我想要的:

ws['C1'].value = ws['B2'].value + ws['B1'].value 
print(ws['C1'].value)

我得到了一个字符串结果,它连接了这两个单元格的str format值。值:

[output:]
= A1+A2= A2*A4

我知道一些通过使用第三方库(如pandas(来获得单元(而不是函数或方程(的真值的方法。

但我想搜索一种只使用openpyxl的方法。

使用OpenPyXl操作实际值而不是公式的唯一方法是使用打开工作簿

load_workbook(xl_path, data_only = True)

这将打开完全相同的工作簿,但所有单元格都只有其计算值。

读取Excel单元格值,而不是计算它的公式-openpyxl

最新更新