xlrd.biffh.XLRDError: Excel xlsx file; not supported 。我也来蹭一下热度~

哎,之前装了pandas之后,试了一下,发现:

1.问题的出现

import pandas as pd

data = pd.read_excel('123.xlsx')

哈哈,兴高采烈的run了一把,然鹅,意外发生了:
这都能错?无语了。
xlrd.biffh.XLRDError: Excel xlsx file; not supported 。我也来蹭一下热度~_第1张图片

额额额额,报错了。

2.错误的分析

2.1 查看xlrd版本

C:\Users\Administrator>pip show xlrd
Name: xlrd
Version: 2.0.1
Summary: Library for developers to extract data from Microsoft Excel (tm) .xls spreadsheet files
Home-page: http://www.python-excel.org/
Author: Chris Withers
Author-email: chris@withers.org
License: BSD
Location: d:\python38-32\lib\site-packages
Requires:
Required-by:

C:\Users\Administrator>

发现版本是2.0.1 ,请先记住这个版本 。

2.2 分析报错

........一大堆....................................
 File "D:\Python38-32\lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
    raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')

进入__init__.py 的190行,发现源码为:

  file_format = inspect_format(filename, file_contents)
    # We have to let unknown file formats pass through here, as some ancient
    # files that xlrd can parse don't start with the expected signature.
    if file_format and file_format != 'xls':
        raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')

看到了没?

原因就在这里,不支持xlsx,那么自己动动小手改成xls吧~

3.我偏要用xlsx文件格式

3.1 可以安装旧版xlrd,在cmd中运行:

pip uninstall xlrd
pip install xlrd==1.2.0

3.2 用openpyxl代替xlrd打开.xlsx文件:

data = pd.read_excel(‘123.xlsx’, engine=‘openpyxl’)

此处openpyxl版本见:

xlrd.biffh.XLRDError: Excel xlsx file; not supported 。我也来蹭一下热度~_第2张图片

4.结语

我是小白, 解决了这个问题之后,我笑了,捂着额头开心不起来了。

别投降,万一赢了呢-----来自王者荣耀箴言

你可能感兴趣的:(Python3)