首页 > 解决方案 > 如何使用 pandas 读取使用 XlsxWriter 编写的公式结果?

问题描述

我用pandas读取excel A并在K列上写公式,然后保存到excel B。

for row_num in range(1, 18):
    worksheet.write_formula(row_num ,10, '=MID($J%d,LEN(LEFT($J%d,SEARCH(" ",$J%d)+1)),3)' % (row_num+1, row_num+1, row_num+1))

我可以看到我从 excel B 插入的公式及其正确值。

在此处输入图像描述

但是当我用pandas读取excel B并打印K列时,它的值变成了“0”,如何解决呢?我想查看计算值,而不是公式,而不是 0。


我举个例子:

#this is about writing formula to excel file
import pandas as pd
cname = []
for i in range(1,5):
    cname.append('=MID("ABCDE",LEN(LEFT("ABCDE",SEARCH("","ABCDE")+1)),3)')
s = pd.DataFrame({'col':cname})
writer = pd.ExcelWriter('output.xlsx')
writer.save()

结果: 在此处输入图像描述

另一个读取上述excel文件的程序:结果:它应该是'BCD',而不是0

在此处输入图像描述

标签: pythonexcelpandasxlsxwriter

解决方案


推荐阅读