使用 pandas 读取 Excel 文件时,任何使用 vlookup 到另一个表的单元格都会被读取为 NaN,有解决方法吗?

问题描述 投票:0回答:1

尝试将 .xlsx 文件读取到 pandas 中的数据帧时(使用 Python 3.9 和 3.12),工作表中包含 =VLOOKUP() 公式的任何单元格都会被读取为 NaN,这种情况在本地和运行时都会发生在 AWS Lambda 内。没有显示任何错误。

没什么特别的,只是一个简单的:

df = pd.read_excel(文件路径,sheet_name=sheet)

一个有趣的事实是,如果我只是使用 LibreOffice 打开该文件并按原样保存并尝试再次读取该文件,问题就解决了,问题是该文件直接从服务器发送到 AWS,并在几个进程中使用,无需手动干预,只需使用 LibreOffice 打开并保存即可。

我不知道为什么用 LibreOffice 打开文件,不进行任何更改地保存并再次阅读可以解决问题。那么有什么建议吗?

python python-3.x pandas dataframe
1个回答
0
投票

所以这是一个问题,因为 Excel 显然使用不同的公式保存外语工作表,在我的例子中,我必须加载所有工作表并使用不同的数据框和连接数据自己重新制作 VLOOKUP。

因此,如果您有一个葡萄牙语 Excel 文件,它可能会将函数存储为 PROCV,而不是人们所期望的 VLOOKUP,这基本上在使用所有引擎加载 df 时破坏了 pandas,但无论出于何种原因,使用 LibreOffice 打开文件只是存储了又是英文公式。

© www.soinside.com 2019 - 2024. All rights reserved.