xlsxwriter python=平均不工作

xlsxwriter python=平均不工作,python,excel,libreoffice,Python,Excel,Libreoffice,我正在使用python中的xlsxwriter模块将一些模拟结果写入excel文件。写结果似乎工作得很好。但是我还需要计算“模拟的平均值”,它可以通过=平均值(CELL:CELL)来完成 不幸的是,这似乎不起作用,尽管公式实际上在工作表中是“=AVERAGE(A2:A10001)”,但该值只是设置为0。如果我现在复制并粘贴这个包含公式的单元格到另一个单元格,它就会被执行 有人知道xlsxwriter如何自动执行此操作,而不只是将公式写入单元格中吗 for x in range(0, len(ex

我正在使用python中的xlsxwriter模块将一些模拟结果写入excel文件。写结果似乎工作得很好。但是我还需要计算“模拟的平均值”,它可以通过=平均值(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) + ')')
解决方案
这会立即执行公式,并为单元格提供正确的值。@jmcnamara在他的评论中发布了更多的解决办法

有人知道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) + ')')
从XlsxWriter:

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

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

这是Excel文档中推荐的方法,一般来说,它适用于电子表格应用程序。但是,没有计算公式功能的应用程序(如Excel Viewer)或多个移动应用程序将只显示0结果


有关更多详细信息和解决方法,请参阅。

好的。谢谢你的回答。但是从文件中加载值怎么样?因此,我是否必须在加载之前手动打开文件,以便执行公式,或者是否有可能在加载时“打开”文件。我的意思是python中的“fopen”方法是否执行此公式?只有在Excel中打开文件并保存后,才能执行公式。这可能也适用于OpenOffice或LibreOffice。该问题网页上的一个解决方法非常有效!