gpt4 book ai didi

Python XLRD 错误 : formula/tFunc unknown FuncID:186

转载 作者:可可西里 更新时间:2023-11-01 14:13:36 30 4
gpt4 key购买 nike

我被这个难住了,请帮助我哦,聪明的堆栈交换器......

我有一个使用 xlrd 读取 .xls 文件的函数,该文件是我公司每隔几个月发布的文件。该文件始终采用相同的格式,只是具有更新的数据。我过去在读取 .xls 文件时没有遇到问题,但最新版本的 .xls 文件未被读取并产生此错误:*** formula/tFunc unknown FuncID:186

我尝试过的事情:

  • 我将新的 .xls 文件与旧的进行了比较,看是否能发现任何问题差异。没有我能找到的。

  • 我删除了文件中包含的所有宏(旧版本也有宏)

  • 将xlrd更新到0.9.3版本,但得到同样的错误

  • 这些文件最初是 .xlsm 文件。我打开它们并将它们另存为.xls 文件,以便 xlrd 可以读取它们。这在文件的先前版本上工作得很好。升级到据称支持 .xlsx 的 xlrd 0.9.3 后,我尝试将 .xlsm 文件保存为 .xlsx 并尝试将其读入,但出现错误并显示空白错误消息

有用的信息:

  • python 2.7
  • xlrd 0.9.3
  • Windows 7(不确定这是否重要但是...)

我的猜测是新文件中有某种 xlrd 无法读取的公式。有人知道FuncID: 186 是什么吗?

编辑:仍然不知道该去哪里。有人遇到这个吗?我尝试搜索 FuncID 186 以查看它是否是 excel 函数,但无济于事...

最佳答案

现在我只想确保 xlrd 读取正常。我破解了我的 xlrd 包,以便它加载。

我不保证输出的正确性。

只需在 pythonlibs/xlrd 包的 formula.py 中添加以下行。

在第 240 行附近,每个数字都映射到一个函数,在这里创建一个被黑函数。我在其中插入了“HACKED”。我不明白到底发生了什么。

-- 添加了以 186 开头的行:

184: ('FACT', 1, 1, 0x02, 1, 'V', 'V'),
186: ('HACKED', 1, 1, 0x02, 1, 'V', 'V'),
189: ('DPRODUCT', 3, 3, 0x02, 3, 'V', 'RRR'),

这里是xlrd group的讨论。本质上,这是一个无法解决的复杂问题。 :)

https://groups.google.com/forum/#!topic/python-excel/ZS5PsC5A6iQ

关于Python XLRD 错误 : formula/tFunc unknown FuncID:186,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971186/

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