gpt4 book ai didi

python - XlsxWriter write_formula() 不工作总是显示零 (0)

转载 作者:行者123 更新时间:2023-12-04 19:49:45 30 4
gpt4 key购买 nike

我与 xlsxwriter 合作,我尝试将带有公式打印的简单公式打印到工作表中

import xlsxwriter
workbook = xlsxwriter.Workbook('filename1.xlsx')
format_val=workbook.add_format()
worksheet = workbook.add_worksheet()
worksheet.write(0,1,5)
worksheet.write(1,1,2)
worksheet.write_formula(3,0, '=SUM(B1:B2)')
workbook.close()
csvf = StringIO(import_file.read().decode())

Here the Image of how to show当我按 = 时,输出是 print 7

但输出也将为零 (0)。我知道 XlsxWriter 不会计算公式的结果,而是将值 0 存储为公式结果。然后它在 XLSX 文件中设置一个全局标志,表示在打开文件时应重新计算所有公式和函数。

这个我试过了。它对我有用,但当我尝试使用大写字母不起作用时,这不是一件合适的事情:~

num_formate=format_val.set_num_format('0')
worksheet.write_formula(5,1, '=2+1',num_formate,4)

但是当它打开时如何显示计算值?

最佳答案

如果您将 pandas.ExcelWriter'xlsxwriter' 引擎一起使用,并且 .save() 它,那么它的公式就是您的预期的。对于您的情况:

import pandas as pd
writer = pd.ExcelWriter('filename1.xlsx', engine='xlsxwriter')
workbook = writer.book
format_val=workbook.add_format()
worksheet = workbook.add_worksheet()
worksheet.write(0,1,5)
worksheet.write(1,1,2)
worksheet.write_formula(3,0, '=SUM(B1:B2)')
writer.save()

但是,这个公式写在第四行第一列(A4)。如果你需要在第三行第二列(B3),你应该使用:

worksheet.write_formula(2,1, '=SUM(B1:B2)')

关于python - XlsxWriter write_formula() 不工作总是显示零 (0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51321694/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com