On May 9, 1:36 am, Carsten Haese <[EMAIL PROTECTED]> wrote: > On Tue, 2007-05-08 at 08:26 -0700, [EMAIL PROTECTED] wrote: > > CompDocError: MSAT extension: accessing sector 1717046 but only 2887 > > in file > > > I am not sure what this means at all > > At least superficially that sounds like the file you're trying to open > is truncated or otherwise corrupted to the point where xlrd doesn't know > what to do with it.
Looks like to me it's truncated or corrupted to the point where xlrd knows *exactly* what to do: pull the ejection handle. Amplifying the error message: The extension to the Master Sector Allocation Table appears to be referencing sector number 1717046 but there are only 2887 sectors in the file. The default sector size is 512. Note that 1717046 * 512 > 800 Mb. > What happens if you try to open the file with Excel? > If Excel manages to open the file, maybe the file is using a storage > format that's newer than what xlrd is prepared to handle. There is no newer format that uses .XLS as an extension. Default from Excel 2007 is .XLSX (XML format -- xlrd upgrade in preparation); there's also a binary format (.XLSB) ... If Excel manages to open the file, there are two other possibilities (both of which have historical antecedents): (1) we've fallen into the 0.1% gap in openoffice.org's 99.9% brilliant reverse-engineering of the arcane structures in an OLE2 Compound Document (2) the file is trash an' Bill don't care :-( Trying to open the file with openoffice.org's Calc (version 2.1) and with Gnumeric is a good idea, if they are available conveniently. I'd suggest that the OP send a copy of the file to the package author, together with the following information: (a) version of xlrd (b) what platform (c) what version of Python (d) background to creation of file especially what software created it (e) has xlrd been used successfully before/since to open files? (f) does the path2 thingy in the first entry in the traceback indicate that the file is on a network? startRow = 0, sh_idx = 0, path2 = '//otaam.com/root/SharedFiles/ GlobeOp/Risk/Cal Projects/temp/') If so, what happens if the file is put on a local hard drive and this is done: shell-prompt> python import xlrd xlrd.open_workbook('the_file.xls') HTH, John -- http://mail.python.org/mailman/listinfo/python-list