IronPython中使用XLRD(Using XLRD in Ironpython)

2019-09-03 11:18发布

我试图使用XLRD库中的IronPython 2.7

在打开的.xls文件(2003格式),我收到以下错误,我不知道如何解决它的最基本的操作:

  workbook = xlrd.open_workbook(xlsfile)

  File "C:\Program Files (x86)\IronPython 2.7\lib\site-packages\xlrd\__init__.py", line    426, in open_workbook
  TypeError: sequence item 0: expected bytes or byte array, str found

有任何想法吗? 我想,如果可以使用xlrd但看起来有可能会出现一些兼容性问题。 当使用Python 2.7解释文件打开没有问题..

Answer 1:

我在xlrd 0.9.2本打了一段时间。 无论是bytesbytearraystr ,甚至手动读取文件,并把它当作file_contents工作。

最后,我降级xlrd到0.8.0版本,...它的工作。 :)



Answer 2:

无论出于何种原因,它似乎open_workbook需要的文件名是以字节为单位,而不是作为一个字符串。 尝试:

workbook = xlrd.open_workbook(bytes(xlsfile))

这是你很可能会遇到很多的问题:IronPython中的字符串都是Unicode默认情况下(如Python 3),而不是字节串像Python 2。



文章来源: Using XLRD in Ironpython