使用pandas读取包含公式的Excel单元格值

4

我正在尝试使用pandas读取一个带有公式的Excel文件,但是当读取时,它会返回nan值而不是单元格的值。

df=pd.read_excel('Test.xlsx',sheet_name='Sheet1')

你在Excel本身中有哪些值?Pandas将返回保存文件中存储的计算结果。如果保存的文件有错误并且有#VALUE!,那么Pandas将读取这些单元格的NaN。 - Sergey
非常奇怪,它绝对不应该是这样的。如果单元格包含数字,它是否读取值? - Sergey
1
是的,如果单元格没有公式,则会给出正确的值,否则为nan。 - Ines
@Ines,你使用的是哪个版本的pandas?我无法在0.23.3中重现,但看起来你正在使用pandas >= 0.21.0。 - It_is_Chris
@Chris 我正在使用 pandas 0.22.0。 - Ines
显示剩余2条评论
2个回答

3

0

这个问题已经有点陈旧了,但我没有找到另一个明确回答OP问题的答案。假设您正在打开一个.xlsx文件而不是.xls,您可以执行以下操作:

workbook = openpyxl.load_workbook(filename=excel_path, data_only=True)
data = pd.read_excel(workbook, sheet_name='Sheet1', engine='openpyxl')

请注意pandas使用xlrd读取.xls文件,我不确定使用该库实现相同功能的最佳方法是什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接