有没有办法让 pandas 只读入 excel 的值而不读入公式?除非我在运行代码之前进入并手动保存 excel 文件,否则它将以 NaN 形式读取公式。我只是在使用 pandas 的基本读取 excel 功能,
import pandas as pd
df = pd.read_excel(filename, sheetname="Sheet1")
如果我在运行代码之前进入并保存了文件,这将读取值。但是在运行更新新工作表的代码后,如果我在执行此操作后不进入并保存文件并尝试再次运行它,它会将公式读取为 NaN 而不仅仅是值。是否有任何人都知道的解决方法可以使用 pandas 从 excel 中读取值?
原文由 Colton T 发布,翻译遵循 CC BY-SA 4.0 许可协议
这很奇怪。 pandas 的正常行为是读取值,而不是公式。问题可能出在您的 excel 文件中。可能您的公式指向其他文件,或者它们返回一个 pandas 视为 nan 的值。
在第一种情况下,工作表需要更新,pandas 对此无能为力(但请继续阅读)。
在第二种情况下,您可以通过在 read_excel 中设置明确的 nan 值来解决:
对于第一种情况,作为使您的工作更轻松的变通解决方案,您可以使用 xlwings 自动执行您正在做的事情:
如果您想将这些公式保留在 excel 文件中,只需将文件保存在不同的位置 (book.save(different location))。然后你可以用 shutil 删除临时文件。