哎,之前装了pandas之后,试了一下,发现:
1.问题的出现
import pandas as pd
data = pd.read_excel('123.xlsx')
哈哈,兴高采烈的run了一把,然鹅,意外发生了:
这都能错?无语了。
额额额额,报错了。
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版本见:
4.结语
我是小白, 解决了这个问题之后,我笑了,捂着额头开心不起来了。
别投降,万一赢了呢-----来自王者荣耀箴言