2

IronPython 2.7 で XLRD ライブラリを使用しようとしています。

.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 インタープリターを使用する場合、ファイルは問題なく開きます..

4

3 に答える 3

3

私はxlrd 0.9.2でしばらくこれと戦いました。、、、またはファイルを手動で読み取り、それを渡すことさえありbytesませんでした。bytearraystrfile_contents

最後に、xlrd をバージョン 0.8.0 にダウングレードしたところ...動作しています。:)

于 2013-10-31T23:40:03.290 に答える
1

何らかの理由でopen_workbook、ファイル名を文字列ではなくバイト単位にする必要があるようです。試す:

workbook = xlrd.open_workbook(bytes(xlsfile))

これは、多く発生する可能性が高い問題です。IronPython の文字列はデフォルトで (Python 3 のように) Unicode であり、Python 2 のようなバイト文字列ではありません。

于 2013-05-15T22:50:13.820 に答える