从excel文件中读取缓存的外部字段,结果与我在excel中看到的结果不同

Pla*_*aHH 5 python excel xlrd python-3.x

我试图在python3中使用xlrd读取excel文件,但是我没有从读取单元格得到结果,因为我在excel中看到它们.

我试图访问的单元格似乎有一些外部源集,从中刷新它们,但由于该源不可用,excel会显示一些缓存值.这些值位于同一个excel文件中的其他位置,因此当您在工作表中看到例如"2.65111"时,单元格的实际内容在excel的此编辑栏中显示为"= BC12".

当我尝试通过xlrd读取此内容时:

wb=xlrd.open_workbook("filename.xls",formatting_info=True)
wb.sheet_by_name("sheetname").cell(12,9)
Run Code Online (Sandbox Code Playgroud)

单元格内容显示为:

'text:'[XXXX]' (XF:95)'
Run Code Online (Sandbox Code Playgroud)

(其中XXXX很可能是此外部.csv文件的列的名称)

我要么期望xlrd返回我在excel中看到的"2.65111",或者至少将"= BC12"作为对其他单元格的引用,但我不能以任何方式使用"[XXXXX]"的东西.

有没有办法让xlrd显示这两个中的任何一个?

我真的很困惑它来自哪里"[XXXXX]",以及为什么这与我在excel中看到的如此不同.

PS:我不能只使用BC12单元格中的数据,因为这应该是文件的自动处理,只有"原始"单元格具有固定位置,而其他单元格可能在第二天处于另一个随机位置.

Hof*_*off 1

一种解决方案可能是制作 Excel 工作表的副本,其中仅包含值,不包含公式或外部源。

您可以通过突出显示并复制所有内容,然后“特殊粘贴”到新工作表中,然后选择“仅值”或类似的内容来做到这一点。