首页 > 解决方案 > Python xlrd 解析问题

问题描述

我正在尝试读取 .xls 文件。当我尝试使用 XLRD 打开它时,我得到以下信息。工作表在 Excel 中打开良好......但我无法找到关于此错误的更多信息:

Traceback (most recent call last):
File "./art.py", line 7, in <module>
  workbook = xlrd.open_workbook("/opt/zir/data/input/May2020executions.xls")
File "/usr/local/lib/python3.6/site-packages/xlrd/__init__.py", line 157, in open_workbook ragged_rows=ragged_rows,
File "/usr/local/lib/python3.6/site-packages/xlrd/book.py", line 88, in open_workbook_xls ragged_rows=ragged_rows,
File "/usr/local/lib/python3.6/site-packages/xlrd/book.py", line 632, in biff2_8_load
cd = compdoc.CompDoc(self.filestr, logfile=self.logfile)
File "/usr/local/lib/python3.6/site-packages/xlrd/compdoc.py", line 90, in __init__
raise CompDocError('Expected "little-endian" marker, found %r' % mem[28:30])

xlrd.compdoc.CompDocError: Expected "little-endian" marker, found b'\xff\xfe'

任何帮助都会很棒。我在这里迷路了。如果我将它加载到 Excel 中,并将其保存为 .xlsx,它工作正常......但我认为 XLRD 读取 .xls 文件......

标签: pythonparsingxlrd

解决方案


除非您绝对必须使用 XLRD,否则另一种方法是在 Pandas 中读取文件

import pandas as pd

workbook = pd.read_excel("/opt/zir/data/input/May2020executions.xls")

推荐阅读