将熊猫另存为Excel文件时,如何使用熊猫插入Excel公式?

时间:2020-09-18 07:02:06

标签: python excel pandas

我有以下具有多个列和行的数据框,

A  |  B  |  C  |  D     |  E   |....
2  |  b  |  c  |  NaN   |  1   |
3  |  c  |  b  |  NaN   |  0   |
4  |  b  |  b  |  NaN   |  1   |
.
.
.

是否有一种方法可以通过以下示例通过使用示例在输出excel文件中使用python添加excel公式(对于某些列)?

例如,我希望能够得到类似这样的输出

  =SUM(A0:A2)   |     |     |                             | =SUM(E0:E2)
       A        |  B  |  C  |              D              |      E
0      2        |  b  |  c  |  =IF(B0=C0, "Yes", "No")    |      1
1      3        |  c  |  b  |  =IF(B1=C1, "Yes", "No")    |      0
2      4        |  b  |  b  |  =IF(B2=C2, "Yes", "No")    |      1
.      
.
.

最终输出,

       9        |     |     |         |      2
       A        |  B  |  C  |  D      |      E
0      2        |  b  |  c  |  No     |      1
1      3        |  c  |  b  |  No     |      0
2      4        |  b  |  b  |  Yes    |      1
.      
.
.

我想在最终输出的excel文件中添加公式,以便(如果最终输出的excel文件中的)列的值发生任何变化,例如,其他列也可以在excel文件中实时更新。 ,

       15       |     |     |         |      3
       A        |  B  |  C  |  D      |      E
0      2        |  b  |  b  |  Yes    |      1
1      9        |  c  |  b  |  No     |      1
2      4        |  b  |  b  |  Yes    |      1
.      
.
.

例如,如果我将A1的值从3更改为9,则列的总和将更改为15;当我将C0的值从“ c”更改为“ b”时,其对应的行值,即D0的值从“否”更改为“是”;与col E相同。

我知道您可以使用xlsxwriter库编写公式,但是我无法弄清楚如何以上面示例中所述的方式添加公式。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您最好通过docker而不是xlsxwriter完成所有希望保留的公式。

如果您只想导出结果,则可以使用pandas,因为您要保留公式,因此在编写电子表格时要这样做。

下面的代码会将pandas和公式写到名为dataframe的{​​{1}}文件中。

xlsx