大家在利用pandas读取excel文件的时候,一定会碰到类似的问题;这里主要写一下我踩过的坑:
#官网pandas对engine的解释
enginestr, default None
If io is not a buffer or path, this must be set to identify io. Supported engines: “xlrd”, “openpyxl”, “odf”, “pyxlsb”. Engine compatibility :

“xlrd” supports old-style Excel files (.xls).

“openpyxl” supports newer Excel file formats.

“odf” supports OpenDocument file formats (.odf, .ods, .odt).

“pyxlsb” supports Binary Excel files.

Changed in version 1.2.0: The engine xlrd now only supports old-style .xls files. When engine=None, the following logic will be used to determine the engine:

If path_or_buffer is an OpenDocument format (.odf, .ods, .odt), then odf will be used.

Otherwise if path_or_buffer is an xls format, xlrd will be used.

Otherwise if path_or_buffer is in xlsb format, pyxlsb will be used.

New in version 1.3.0.

Otherwise openpyxl will be used.

但是,我们大部分应该是下载Exel文件的时候,里面内容的格式很乱导致pandas不知道用那个engine工作,所以才会让你手动ing指定engine。这里很简单你把文件另存为相应的格式就欧克了。

已解决ValueError: Excel file format cannot be d eterm ined , you must specify an engine manual ly . 这个问题我搞了很久,最后终于搞明白了,先贴图,网上各种什么utf-8呀,格式化或者另存都不行,我都试过了。 问题在于原表格格式有些问题,最直接的办法就是把表格的内容复制到一个自己新建的表格中,然后改成先表格的路径。再安装这个模块,就可以了,conda install openpyxl。 如果有效,请点赞或者评论。... 接着进入到inspect_ excel format ()方法中,找到返回值等于None的位置,即下图所示。这里的意思是,检查文件格式是否属于XLS _ SIGNATURES所包含的格式之一,如果不是则返回none。问题找到之后,检查一下需要读取的文件格式是否正确,打开文件之后另存为成指定格式就解决啦。这里我另存为了xlsx格式。当ext等于none时,提示这个错误。那么ext是怎么等于none的呢,往上找发现下图中圈住的这一行。根据报错内容来到显示报错的代码中。 Mac pandas bug记录(路径及缓存问题)- Excel file format cannot be d eterm ined ,you must specify an engine manual ly . pd.read_ excel 方法本身是支持多种引擎的,包括"xlrd", “openpyxl”, “odf”, “pyxlsb”。 有的文件名义上是 Excel ,其实内心是个Html!使用pd.read_html方法 File "/home/user1/test.py", line 78, in     show_mat(mat) File "/home/user1/test.py", line 50, in show_mat_flow     x = io.loadmat(mat_ file ) File "/home/user Microsoft Excel is a popular spreadsheet.  It uses a file format called BIFF (Binary File Format ).  There are many types of BIFF records.  Each has a 4 byte header.  Thefirst two bytes are an opcode th