【问题标题】:Pandas.read_excel: Unsupported format, or corrupt file: Expected BOF recordPandas.read_excel:不支持的格式,或损坏的文件:预期的 BOF 记录
【发布时间】:2018-01-23 20:02:44
【问题描述】:

我正在尝试使用 pandas.read_excel 读取 .xls 文件。它在我的大多数 .xls 文件上都成功了,但是对于一些错误,它会出现以下错误消息:

Unsupported format, or corrupt file: Expected BOF record; found '\x00\x05\x16\x07\x00\x02\x00\x00'

我一直在尝试研究为什么某些文件会发生这种情况,但不是所有文件。 xlrd 版本是 1.0.0。我尝试使用 xlrd.open_workbook 手动读取,得到了相同的结果。

有谁知道这个 BOF 记录指的是什么文件类型?

【问题讨论】:

  • 文件是否真的在 Excel/OO 中打开?如果他们这样做了 - 如果你再次保存它们,你可以使用xlrd阅读tem吗?
  • 我用 Excel 打开(效果很好)并保存了文件。使用 xlrd 读取时,我得到与 BOF 记录相同的错误代码 ('\x00\x05\x16\x07\x00\x02\x00\x00')

标签: python excel pandas xlrd


【解决方案1】:

出现该错误消息的原因有多种。但是,主要原因可能是 Excel 文件本身。有时,尤其是当您从某个报告门户中提取 Excel 文件时,Excel 文件可能已损坏,因此最好打开 Excel 文件并将其另存为新的 .xls 文件,然后重试运行 pandas.read_excel。

让我知道它是否有效。

【讨论】:

    【解决方案2】:

    我用 pd.read_table 加载它解决了这个问题(它将所有内容加载到一列中)

    df = pd.read_table('path/to/xls_file/' + 'my_file.xls')
    

    然后我将此列拆分为

    df = df['column_name'].str.split("your_separator", expand=True)
    

    【讨论】:

      【解决方案3】:

      请检查您是否提供了正确的文件扩展名 xlsx 或 csv。指定的文件扩展名错误可能会导致此问题。

      【讨论】:

        猜你喜欢
        • 2013-05-06
        • 2019-08-16
        • 2019-01-28
        • 2021-11-30
        • 2014-07-22
        • 1970-01-01
        • 2012-03-26
        • 1970-01-01
        • 2013-12-24
        相关资源
        最近更新 更多