为了账号安全,请及时绑定邮箱和手机立即绑定

读取用 openpyxl 修改的 excel 公式

读取用 openpyxl 修改的 excel 公式

红颜莎娜 2021-11-30 15:59:16
我有一个很大的excel,里面有很多公式和一些输入数据。我正在尝试使用 openpyxl 修改此输入数据,然后读取结果。出于某种原因,openpyxl 或 pandas 无法正确读取带有公式的单元格的值,但是如果我在 excel 中打开它,我可以看到计算值。如果我用 excel 创建一个类似的文件,那么可以毫无问题地读取公式的结果。难道我做错了什么?我在这里用一个例子重现我的问题:from openpyxl import Workbook,load_workbookimport pandas as pdwb=Workbook()ws1=wb['Sheet']ws1['A1']='a'ws1['A2']='b'ws1['A3']='c'ws1['B1']=1ws1['B2']=2ws1['B3']='=B1+B2'wb.save('to_erase.xlsx')wb2 = load_workbook(filename='to_erase.xlsx')wb['Sheet']['B3'].value#this displays the formula, okwb3 = load_workbook(filename='to_erase.xlsx',data_only=True)wb3['Sheet']['B3'].value这不显示任何东西,这很奇怪,我使用熊猫也是如此pd.read_excel('to_erase.xlsx',header=None)单元格 B3 是一个 NaN。如果我手动创建excel,则不会发生这种情况,为什么不显示公式的结果?
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

当您在excel文件的B3单元格中写入'=B1 + B2'时,这是一个宏/命令,当在excel中打开文件时,Excel将播放该宏/命令,因此read_excel或openxls无法使用它。


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信