我有一個(gè)很大的excel,里面有很多公式和一些輸入數(shù)據(jù)。我正在嘗試使用 openpyxl 修改此輸入數(shù)據(jù),然后讀取結(jié)果。出于某種原因,openpyxl 或 pandas 無(wú)法正確讀取帶有公式的單元格的值,但是如果我在 excel 中打開(kāi)它,我可以看到計(jì)算值。如果我用 excel 創(chuàng)建一個(gè)類(lèi)似的文件,那么可以毫無(wú)問(wèn)題地讀取公式的結(jié)果。難道我做錯(cuò)了什么?我在這里用一個(gè)例子重現(xiàn)我的問(wèn)題: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 是一個(gè) NaN。如果我手動(dòng)創(chuàng)建excel,則不會(huì)發(fā)生這種情況,為什么不顯示公式的結(jié)果?
1 回答

飲歌長(zhǎng)嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
當(dāng)您在excel文件的B3單元格中寫(xiě)入'=B1 + B2'時(shí),這是一個(gè)宏/命令,當(dāng)在excel中打開(kāi)文件時(shí),Excel將播放該宏/命令,因此read_excel或openxls無(wú)法使用它。
添加回答
舉報(bào)
0/150
提交
取消