有没有一种简单的方法可以找出BOF record
错误消息的含义?
列表或类似的东西可以在哪里查找?
除了XLutils 1.6.0之外,我刚刚安装了XLRD 0.9.2。 (我知道这是一种矫枉过正的问题,那可能是问题吗?)我正在阅读大量的Excel文件,我知道所有文件都是超文本,至少在文件名中是这样。
即使我进行了Try
,Except
测试,错误消息也会显示出来。这是错误显示的代码:
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 '
编辑:OPC是计算机上的用户名。
答案 0 :(得分:0)
添加了try:
,except:
测试,并找到导致问题的文件。看起来像是一些旧的“自动安全保存文件”已保存在与我的其余文件相同的文件夹中,但隐藏在哪里。这些文件的名称如下所示:
〜$ test spreadsheet modelxxx.xlsx
我当然应该早点运行测试,但是我已经将Try
函数放在左边太远了,所以我从来没有看到出现错误的文件。谢谢你的回复。
如果有人能指出错误消息表,我仍然会感激,如果这样的表存在的话。