Python XLR错误:预期的转炉记录'\x03OPC';

Python XLR错误:预期的转炉记录'\x03OPC';,python,excel,xlrd,Python,Excel,Xlrd,是否有一种简单的方法可以找出BOF记录,错误消息的含义? 一个列表或类似的东西,在那里可以找到它们 除了XLutils 1.6.0之外,我刚刚安装了XLRD 0.9.2。(我知道这太过分了,所以这可能是问题所在吗?)我正在阅读一大堆Excel文件,我知道这些文件都是Excel文件,至少在文件名上是如此 即使我进行了Try,测试,错误消息仍会显示。以下是错误显示的代码: def locate_vals(): val_dict = {} Fcount = 0 for file

是否有一种简单的方法可以找出
BOF记录
,错误消息的含义? 一个列表或类似的东西,在那里可以找到它们

除了XLutils 1.6.0之外,我刚刚安装了XLRD 0.9.2。(我知道这太过分了,所以这可能是问题所在吗?)我正在阅读一大堆Excel文件,我知道这些文件都是Excel文件,至少在文件名上是如此

即使我进行了
Try
测试,错误消息仍会显示。以下是错误显示的代码:

def locate_vals():
    val_dict = {}
    Fcount = 0
    for filename in file_list:
        try:
            wb = xlrd.open_workbook(os.path.join(start_dir, filename))
            sheet = wb.sheet_by_index(5)    # kan ogsaa velge sheet_by_name('navn')
 #             model = sheet.cell_value(2, 3)
            lenghtvalue = sheet.cell_value(9, 7)       # (y,x)
            dispvalue = sheet.cell_value(15, 7)
            try:
                Froudemax = max(Fdict.get(filename)[Fcount - 1], key=str)
                 Froudemin = min(Fdict.get(filename)[Fcount - 1])
                Fcount += 1
            except:
                Froudemax = 5555555555555555555555555555
                Froudemin = 6666666666666666666666666666
                 print 'Froudemax(5) eller Froudemin(6) har problem'
            val_dict[filename] = [lenghtvalue, dispvalue, Froudemax, Froudemin]

        except XLRDError and IndexError:
             print 'Problem in locate_vals with:', filename
    return val_dict
val_dict = locate_vals()
我的留言是:

Traceback (most recent call last):
  File "C:\Documents and Settings\OPC\My Documents\Haavard_Refvik_Workspace\STT_ComparisonTool\Run_Comparison_Tool.py", line 129, in <module>
     val_dict = locate_vals()
  File "C:\Documents and Settings\OPC\My Documents\Haavard_Refvik_Workspace\STT_ComparisonTool\Run_Comparison_Tool.py", line 111, in locate_vals
    wb = xlrd.open_workbook(os.path.join(start_dir, filename))
   File "C:\Python27\lib\site-packages\xlrd-0.9.2-py2.7.egg\xlrd\__init__.py", line 435, in open_workbook
    ragged_rows=ragged_rows,
  File "C:\Python27\lib\site-packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py", line 91, in open_workbook_xls
     biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
  File "C:\Python27\lib\site-packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py", line 1258, in getbof
    bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8])
   File "C:\Python27\lib\site-packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py", line 1252, in bof_error
    raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '\x03OPC    '
回溯(最近一次呼叫最后一次):
文件“C:\Documents and Settings\OPC\My Documents\Haavard_Refvik_Workspace\STT_ComparisonTool\Run_Comparison_Tool.py”,第129行,在
val_dict=定位val()
文件“C:\Documents and Settings\OPC\My Documents\Haavard\u Refvik\u Workspace\STT\u ComparisonTool\Run\u Comparison\u Tool.py”,第111行,在locate\u vals中
wb=xlrd.open_工作簿(os.path.join(start_dir,文件名))
文件“C:\Python27\lib\site packages\xlrd-0.9.2-py2.7.egg\xlrd\\uuuu init\uuuuu.py”,第435行,在OpenU工作簿中
参差不齐的行=参差不齐的行,
文件“C:\Python27\lib\site packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py”,第91行,在open\u工作簿中
biff\u version=bk.getbof(XL\u工作簿\u全局)
getbof中的文件“C:\Python27\lib\site packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py”,第1258行
bof_错误('预期的bof记录;找到%r'%self.mem[savpos:savpos+8])
文件“C:\Python27\lib\site packages\xlrd-0.9.2-py2.7.egg\xlrd\book.py”,第1252行,bof_错误
raise XLRDError('不支持的格式或损坏的文件:'+msg)
xlrd.biffh.xlrd错误:不支持的格式,或损坏的文件:预期的BOF记录;找到“\x03OPC”

编辑:OPC是计算机上的用户名。

添加了一个
尝试:
例外:
测试,并找到了导致问题的文件。似乎是一些旧的“自动安全保存文件”与我的其他文件保存在同一文件夹中,但隐藏在哪里。这些文件的名称如下所示:

~$test电子表格modelxxx.xlsx

我当然应该早点运行测试,但是我把
Try
函数的缩进放得太左了,所以我从来没有看到包含错误的文件。谢谢你的回复


如果存在错误消息表,如果有人能为我指出错误消息表的方向,我将不胜感激。

这意味着
xlrd
库需要一个特定的字节序列,但未能找到它,这意味着输入文件的行为与库的预期不符。谢谢!我要看一下文件,试着确定出了什么问题。你知道我在哪里可以找到这些信息吗,或者它们都是通过经验学到的吗?需要文件的哪一部分?这是我办公室的文件,所以我恐怕不能在网上发布任何完整的文件。@nlsbshtr刚刚注意到;OPC是计算机上用户的名称。