在Python中计算Excel公式
我想用Python在Excel里插入一个计算。一般来说,可以通过把一个公式字符串放到相关的单元格里来实现。不过,如果我需要对整列进行多次计算,公式就得为每个单元格单独更新。比如说,如果我想计算两个单元格的和,那么对于单元格C(k),计算就是A(k)+B(k)。在Excel里,可以先计算C1=A1+B1,然后通过鼠标拖动C1向下,就能自动扩展这个计算。
我的问题是:用Python能不能做到这一点?也就是说,只在一个单元格里定义一个公式,然后利用Excel的功能把这个计算扩展到整列或整行?
谢谢大家,
Sasha
6 个回答
0
Sasha,
把你的宏转换成Python代码后,代码大概是这样的:
startCell = mySheet.Range("M6")
wholeRange = mySheet.Range("M6:M592")
startCell.FormulaR1C1 = "=R[-1]C[-7]/RC[-10]*R[-1]C"
startCell.AutoFill(Destination=wholeRange)
我还没测试过,但我在工作中经常写这个。如果有问题请告诉我。
0
如果你在用COM绑定的话,你可以直接在Excel里录制一个宏,然后把它转换成Python代码。
如果你在用xlwt库,那就得用普通的循环来写Python代码了。