当我试图pd.read_excel软件(). 此错误特定于我的计算机:当我在另一台具有相同文件的计算机上运行脚本时,不会发生任何错误。python3.6.1的Python分布。熊猫版本'0.20.3'
,Xlrd版本'1.1.0'
:
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\x08jstanle'
Jstanley是我的计算机名,所以这可能是我丢失的一个重要提示。在
它试图打开.xls或.xlsx文件。我尝试过在不做任何更改的情况下将扩展名更改为旧版本和新版本的Excel。在
谢谢你的帮助!我将把全部错误写在下面。在
C:\Users\jstanley\Documents\----\---\Python\load_data_original.py in load_(exp_id, file_path)
60
61 def load_(exp_id, file_path):
---> 62 dict_sheets = pd.read_excel(file_path, header=None, sheetname=None)
63 new_dict_sheets = dict()
64
C:\Users\jstanley\Anaconda3\lib\site-packages\pandas\io\excel.py in read_excel(io, sheetname, header, skiprows, skip_footer, index_col, names, parse_cols, parse_dates, date_parser, na_values, thousands, convert_float, has_index_names, converters, dtype, true_values, false_values, engine, squeeze, **kwds)
201
202 if not isinstance(io, ExcelFile):
--> 203 io = ExcelFile(io, engine=engine)
204
205 return io._parse_excel(
C:\Users\jstanley\Anaconda3\lib\site-packages\pandas\io\excel.py in __init__(self, io, **kwds)
258 self.book = xlrd.open_workbook(file_contents=data)
259 elif isinstance(io, compat.string_types):
--> 260 self.book = xlrd.open_workbook(io)
261 else:
262 raise ValueError('Must explicitly set engine if not passing in'
C:\Users\jstanley\Anaconda3\lib\site-packages\xlrd\__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows)
C:\Users\jstanley\Anaconda3\lib\site-packages\xlrd\book.py in open_workbook_xls(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows)
89 t1 = time.clock()
90 bk.load_time_stage_1 = t1 - t0
---> 91 biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
92 if not biff_version:
93 raise XLRDError("Can't determine file's BIFF version")
C:\Users\jstanley\Anaconda3\lib\site-packages\xlrd\book.py in getbof(self, rqd_stream)
1228 elif rc == XL_NAME:
1229 self.handle_name(data)
-> 1230 elif rc == XL_PALETTE:
1231 self.handle_palette(data)
1232 elif rc == XL_STYLE:
C:\Users\jstanley\Anaconda3\lib\site-packages\xlrd\book.py in bof_error(msg)
1222 elif rc == XL_SHEETSOFFSET:
1223 self.handle_sheetsoffset(data)
-> 1224 elif rc == XL_SHEETHDR:
1225 self.handle_sheethdr(data)
1226 elif rc == XL_SUPBOOK:
一些excel文件和XLRD似乎有问题,而且通常很难分辨出你面对的是哪一个。文件是你下载的吗?或者是一份旧文件?腐败以看似随机的方式潜入Excel文件。在
This question might help。{看看其他的想法。在
最好的解决方案似乎是在Excel中打开文件,然后将其另存为另一种格式(有时甚至只是作为一个新的.xlsx文件)。手工的,不雅的,烦人的。但我已经做了好几次了,而且成功了。在
相关问题 更多 >
编程相关推荐