簡體   English   中英

使用 python xlrd 模塊打開 Excel 文件時出現編碼錯誤

[英]Encoding error when opening an Excel file with python xlrd module

我有一些excel文件,擴展名是xls,我用xlrd打開這些文件失敗了,不知道怎么解決。

    oldbook=xlrd.open_workbook('file.xls')
    oldsheet=oldbook.sheets()[0]

PS C:\Users\我是貓\Desktop\python> python -u "c:\Users\我是貓\Desktop\python\a.py"
    Traceback (most recent call last):
      File "c:\Users\我是貓\Desktop\python\a.py", line 64, in <module>
        oldbook=xlrd.open_workbook(result)
      File "E:\python\lib\site-packages\xlrd\__init__.py", line 157, in open_workbook
        ragged_rows=ragged_rows,
      File "E:\python\lib\site-packages\xlrd\book.py", line 117, in open_workbook_xls
        bk.parse_globals()
      File "E:\python\lib\site-packages\xlrd\book.py", line 1209, in parse_globals
        self.handle_format(data)
      File "E:\python\lib\site-packages\xlrd\formatting.py", line 538, in handle_format
        unistrg = unpack_unicode(data, 2)
      File "E:\python\lib\site-packages\xlrd\biffh.py", line 284, in unpack_unicode
        strg = unicode(rawstrg, 'utf_16_le')
      File "E:\python\lib\site-packages\xlrd\timemachine.py", line 31, in <lambda>
        unicode = lambda b, enc: b.decode(enc)
      File "E:\python\lib\encodings\utf_16_le.py", line 16, in decode
        return codecs.utf_16_le_decode(input, errors, True)
    UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 10-11: illegal encoding
    PS C:\Users\我是貓\Desktop\python>

嘗試覆蓋使用的編碼:

oldbook = xlrd.open_workbook('file.xls', encoding_override="cp1252")

您也可以嘗試encoding_override="utf-8" ,玩轉編碼直到找到正確的編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM