Openpyxl保存实际上不保存



我有一个正在用openpyxl修改的工作簿。

运行代码后,我可以看到excel文件中正在编写的公式,但它打印了一个空的df。(如果我打开excel文件并手动单击保存,则打印的df具有正确的数据(。

有人能解释一下如何允许read_excel读取该单元格中的值而不是公式吗?

from openpyxl import load_workbook
import pandas as pd

file_path = "Test.xlsx"
workbook = load_workbook(file_path)
workbook["Temp"]["A1"] = f"=SUM(2+2)"
workbook.save(file_path)
df = pd.read_excel(file_path, header=None)
print(df)  # empty df??

我通过阅读源代码找到了这里的问题

pandas.io.excel._openpyxl.OpenpyxlReader._convert_cell

def _convert_cell(self, cell, convert_float: bool) -> Scalar:
......
# Here, cell.value leads to "" and I guess pandas has no parsing formula
if cell.value is None:
return ""  # compat with xlrd
.....
return cell.value

相关内容

最新更新