解决 Pandas 中的 XLRDError:处理 “Excel xlsx file; not supported” 错误
在处理数据分析任务时,使用 Python 的 Pandas 库来读取 Excel 文件是一种常见的做法。然而,从 Pandas 1.2.0 版本开始,默认使用的 xlrd
库不再支持 .xlsx
文件格式,只支持较旧的 .xls
格式。尝试用 xlrd
打开 .xlsx
文件时,会遇到以下错误:
xlrd.biffh.XLRDError: Excel xlsx file; not supported
原因
这个错误是因为 xlrd
库从版本 2.0.0 开始,出于安全和维护的原因,决定不再支持 .xlsx
文件。这意味着任何依赖 xlrd
来处理 .xlsx
文件的代码都需要进行修改。
解决方案
为了解决这个问题,推荐使用 openpyxl
库,它是处理 .xlsx
文件的一个更现代、功能更全的库。
安装 openpyxl
首先,确保已经安装了 openpyxl
库。如果还没有安装,可以通过 pip 安装:
pip install openpyxl
修改 Pandas 代码
使用 openpyxl
作为读取 Excel 文件的引擎。这里是一个简单的示例,展示如何读取一个 .xlsx
文件并进行一些基本的数据处理:
import pandas as pd# 指定 Excel 文件路径
file_path = 'example.xlsx'# 使用 openpyxl 引擎读取 Excel 文件
df = pd.read_excel(file_path, engine='openpyxl')# 显示 DataFrame 的头部几行
print(df.head())
这段代码展示了如何使用 openpyxl
代替 xlrd
来避免在 Pandas 中遇到 XLRDError
。
总结
通过将 xlrd
替换为 openpyxl
,你不仅可以避免 XLRDError
,还可以利用 openpyxl
支持的更多功能,如写入 .xlsx
文件、修改现有文件等。这样的改动有助于保持你的数据处理流程的稳定性和安全性。