You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用datatable 1.0.0版本的dt.fread读取Excel文件时出现AttributeError:module 'xlrd' has no attribute 'xlsx'的解决方法求助

解决datatable fread读取XLSX文件时的AttributeError问题

这个问题我之前帮同事排查过,根源很清晰:xlrd从2.0版本开始完全砍掉了对XLSX格式的支持,只保留了XLS格式的处理能力。而你用的datatable 1.0.0版本里,read_xls_workbook函数还在试图调用xlrd.xlsx下面的属性,这就导致了找不到属性的报错。

给你三个可行的解决思路:

1. 降级xlrd到1.2.0版本(最快临时修复)

xlrd 1.2.0是最后一个支持XLSX的版本,降级后能完美适配datatable 1.0.0的现有代码:

pip install xlrd==1.2.0

装完之后再跑你的读取代码,应该就能正常工作了。

2. 换用其他库读取后转datatable

如果不想降级xlrd,你可以先用pandas这类支持XLSX的库读文件,再转成datatable的Frame对象:

import pandas as pd
import datatable as dt

# 用pandas读取xlsx
pd_df = pd.read_excel("myFile.xlsx")
# 转换为datatable的DataTable
DT = dt.Frame(pd_df)

这种方式绕开了datatable对xlrd的依赖问题,也能满足你处理数据的需求。

3. 升级datatable到最新版(推荐长期方案)

datatable的后续版本应该已经修复了这个兼容性bug,直接升级到最新版是最稳妥的:

pip install --upgrade datatable

新版本要么调整了XLSX的读取逻辑,要么适配了xlrd的版本变化,不会再出现这种属性找不到的问题。

另外提一句:如果你的文件是XLS格式,那xlrd 2.0+版本没问题,但XLSX文件必须用上面的方案处理才行。

内容的提问来源于stack exchange,提问作者Hani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 02:47:38