繁体   English   中英

xlsxwriter python = AVERAGE不起作用

[英]xlsxwriter python =AVERAGE not working

我正在使用python的xlsxwriter模块将一些模拟结果写入excel文件。 编写结果似乎运行良好。 但是我还需要计算“模拟平均值”,可以通过= AVERAGE(CELL:CELL)完成。
不幸的是,尽管公式实际上在工作表中显示为“ = AVERAGE(A2:A10001)”,但这似乎不起作用,但是该值只是设置为0。如果我现在将包含公式的该单元格复制并粘贴到另一个单元格,它将被执行。
有谁知道xlsxwriter如何能够自动执行此操作,而不仅仅是将公式写入单元格中?

for x in range(0, len(exploit_names)):
    worksheet.write(amount_of_runs+1, x , '=AVERAGE(' + chr(65 + x) + '2:' + chr(65 + x)+str(amount_of_runs + 1) + ')')


worksheet.write_formula(amount_of_runs + 1, x,
                        '=AVERAGE(' + chr(65 + x) + '2:' + chr(65 + x) + str(amount_of_runs + 1) + ')',
                        cell_format1, "#DIV/0!")

这立即执行了公式,并为我提供了单元格的正确值。 更多解决方法可以在此问题页面上找到,@ jmcnamara在其发表的评论中。

有谁知道xlsxwriter如何能够自动执行此操作,而不仅仅是将公式写入单元格中?

来自XlsxWriter 常见问题/已知问题

公式结果在非Excel应用程序中显示为零

由于各种可能的公式以及它们之间的相互依赖性,因此XlsxWriter不能(实际上无法计算)将公式的结果写入XLSX文件时。 而是将值0存储为公式结果。 然后,它在XLSX文件中设置一个全局标志,说打开该文件时应重新计算所有公式和函数。

这是Excel文档中建议的方法,并且通常可以与电子表格应用程序很好地配合使用。 但是,不具备计算公式功能的应用程序(例如Excel Viewer)或多个移动应用程序将仅显示0结果。

有关更多详细信息和解决方法,请参见“ 公式结果 ”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM