Python XLRD错误:公式/ tFunc未知FuncID:186
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python XLRD错误:公式/ tFunc未知FuncID:186,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2062字,纯文字阅读大概需要3分钟。
内容图文
![Python XLRD错误:公式/ tFunc未知FuncID:186](/upload/InfoBanner/zyjiaocheng/787/7e088f7d12d943adb230a35d791723d0.jpg)
我很难过这个,请帮助我哦明智的堆栈交换器…
我有一个使用xlrd读取.xls文件的函数,该文件是我公司每隔几个月推出一个文件.该文件始终采用相同的格式,只是更新的数据.我以前没有读过.xls文件的问题,但是最新版本的.xls文件没有被读入并且产生了这个错误:*** formula / tFunc unknown FuncID:186
我试过的事情:
>我将新的.xls文件与旧文件进行比较,看看我是否可以发现任何文件
差异.没有我能找到的.
>我删除了文件中包含的所有宏(旧版本也有宏)
>将xlrd更新为版本0.9.3但得到相同的错误
>这些文件最初是.xlsm文件.我打开它们并保存为
.xls文件,以便xlrd可以读取它们.这在该文件的先前版本中运行良好.在升级到xlrd 0.9.3(据说支持.xlsx)之后,我尝试将.xlsm文件保存为.xlsx并尝试将其读入但是出现错误并显示空白错误消息
实用信息:
> Python 2.7
> xlrd 0.9.3
> Windows 7(不确定这是否重要,但……)
我的猜测是新文件中有某种公式,xlrd不知道如何阅读.有谁知道FuncID:186是什么?
编辑:仍然不知道该去哪里.有人遇到这个吗?我尝试搜索FuncID 186以查看它是否是一个excel功能,但无济于事……
解决方法:
在我们的例子中,一般原因结果是“MySQL Excel COM加载项”.见python-excel xlrd repo on github中的BUG: XLS files saved by Excel 2013 on Windows cause AssertionError #154.
这个加载项在电子表格中放了一些全局公式(宏?).通过打包我们自己的xlrd .egg并在任何地方设置DEBUG = 1,我们能够看到:
name: u'LOCAL_DATE_SEPARATOR'
name: u'LOCAL_DAY_FORMAT'
name: u'LOCAL_HOUR_FORMAT'
name: u'LOCAL_MINUTE_FORMAT'
name: u'LOCAL_MONTH_FORMAT'
name: u'LOCAL_MYSQL_DATE_FORMAT'
name: u'LOCAL_SECOND_FORMAT'
name: u'LOCAL_TIME_SEPARATOR'
name: u'LOCAL_YEAR_FORMAT'
…解析工作簿时,其他人保存工作簿或加载项被禁用时不存在.
OpenOffice的“Documentation of the Microsoft Excel File Format” document (pdf)没有列出函数ID 186,但似乎有各种证据证明这是某种命名函数间接或调用.
看起来像Yoon Lee’s workaround在这里回答 – 添加186:(‘HACKED’,1,1,0×02,1,’V’,’V’)到formula.py – 可能会产生忽略所有这些条目的副作用:它似乎是在一个带有void arg的“HACKED()”公式和返回类型(我可能会稍微误解这个)的位置.只要没有尝试评估该公式,这可能会起作用,虽然没有更好地理解186,但很难说这是否会导致解析在某些情况下变得无法解决.
如果我们能够更好地理解问题或更安全的解决方法,将尝试返回并更新此答案.
内容总结
以上是互联网集市为您收集整理的Python XLRD错误:公式/ tFunc未知FuncID:186全部内容,希望文章能够帮你解决Python XLRD错误:公式/ tFunc未知FuncID:186所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。