gpt4 book ai didi

python - Pandas 读取 excel 值而不是公式

转载 作者:太空狗 更新时间:2023-10-29 20:27:07 34 4
gpt4 key购买 nike

有没有办法让 pandas 只读入 excel 的值而不读入公式?除非我在运行代码之前进入并手动保存 excel 文件,否则它将以 NaN 形式读取公式。我只是在使用 pandas 的基本读取 excel 功能,

import pandas as pd

df = pd.read_excel(filename, sheetname="Sheet1")

如果我在运行代码之前进入并保存了文件,这将读取值。但是在运行更新新工作表的代码后,如果我在执行此操作后不进入并保存文件并尝试再次运行它,它会将公式读取为 NaN 而不仅仅是值。是否有任何人都知道的解决方法,可以使用 pandas 从 excel 中读取值?

最佳答案

这很奇怪。 pandas 的正常行为是读取值,而不是公式。问题可能出在您的 excel 文件中。可能您的公式指向其他文件,或者它们返回一个 pandas 视为 nan 的值。

在第一种情况下,工作表需要更新,pandas 对此无能为力(但请继续阅读)。

在第二种情况下,您可以通过在 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(different location))。然后您可以使用 shutil 删除临时文件。

关于python - Pandas 读取 excel 值而不是公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41722374/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com