这很奇怪. pandas的正常行为是读取值,而不是公式.可能,问题出在你的excel文件中.可能你的公式指向其他文件,或者它们返回一个pandas视为nan的值.
在第一种情况下,需要更新工作表,并且没有任何熊猫可以做的事情(但请继续阅读).
在第二种情况下,您可以通过在read_excel中设置显式nan值来解决:
pd.read_excel(path, sheetname="Sheet1", na_values = [your na identifiers])
至于第一种情况,作为一种使您的工作更轻松的解决方案,您可以使用xlwings手动自动化您正在做的事情:
import pandas as pd
import xlwings as xl
def df_from_excel(path):
app = xl.App(visible=False)
book = app.books.open(path)
book.save()
app.kill()
return pd.read_excel(path)
df = df_from_excel(path to your file)
如果要将这些公式保留在excel文件中,只需将文件保存在其他位置(book.save(不同位置)).然后你可以用shutil摆脱临时文件.