ImportError:没有名为 arff 的模块
Posted
技术标签:
【中文标题】ImportError:没有名为 arff 的模块【英文标题】:ImportError: No module named arff 【发布时间】:2014-03-15 15:37:21 【问题描述】:这是link 中的一个简单代码,用于在 python 中读取 arff 文件(注释的那个也不起作用):
import arff
for row in arff.load('heart_train.arff'):
print(row.sex)
这是我收到的错误:
python id3.py
Traceback (most recent call last):
File "id3.py", line 1, in <module>
import arff
ImportError: No module named arff
“heart_train”arff 文件数据如下:
@relation cleveland-14-heart-disease
@attribute 'age' real
@attribute 'sex' female, male
@attribute 'cp' typ_angina, asympt, non_anginal, atyp_angina
@attribute 'trestbps' real
@attribute 'chol' real
@attribute 'fbs' t, f
@attribute 'restecg' left_vent_hyper, normal, st_t_wave_abnormality
@attribute 'thalach' real
@attribute 'exang' no, yes
@attribute 'oldpeak' real
@attribute 'slope' up, flat, down
@attribute 'ca' real
@attribute 'thal' fixed_defect, normal, reversable_defect
@attribute 'class' negative, positive
@data
63,male,typ_angina,145,233,t,left_vent_hyper,150,no,2.3,down,0,fixed_defect,negative
37,male,non_anginal,130,250,f,normal,187,no,3.5,down,0,normal,negative
41,female,atyp_angina,130,204,f,left_vent_hyper,172,no,1.4,up,0,normal,negative
56,male,atyp_angina,120,236,f,normal,178,no,0.8,up,0,normal,negative
57,female,asympt,120,354,f,normal,163,yes,0.6,up,0,normal,negative
57,male,asympt,140,192,f,normal,148,no,0.4,flat,0,fixed_defect,negative
...
【问题讨论】:
你的代码中有没有这行:import arff
?
是的,我有。它只是没有被复制。
其实是在问题里但是不显示!!!?!
【参考方案1】:
您应该将脚本从 arff.py
重命名为不同的名称,例如 arfftest.py
。 Python无法导入您需要的arff
模块,因为它的名称与您的应用程序文件名相同。
如果您还没有安装 arff
包本身,请使用 pip 或 easy_install 安装它:
pip install arff
# or easy_install arff
# or pypm install arff
【讨论】:
Monas-MacBook-Pro: mona$ python id3.py Traceback (most recent call last): File "id3.py", line 1, in <module> import arff ImportError: No module named arff
@MonaJalal 那个错误意味着 python 找不到 arff。你安装了吗?
感谢我使用pypm install arff
安装它我收到此错误:`python id3.py Traceback(最近一次调用最后):文件“id3.py”,第 3 行,在 在我更改你的 arff 文件后,它就可以工作了:
注意:我从属性的第二列中删除了单个代码。
这是 arff 文件:
@relation cleveland-14-heart-disease
@attribute age real
@attribute sex female, male
@attribute cp typ_angina, asympt, non_anginal, atyp_angina
@attribute trestbps real
@attribute chol real
@attribute fbs t, f
@attribute restecg left_vent_hyper, normal, st_t_wave_abnormality
@attribute thalach real
@attribute exang no, yes
@attribute oldpeak real
@attribute slope up, flat, down
@attribute ca real
@attribute thal fixed_defect, normal, reversable_defect
@attribute class negative, positive
@data
63,male,typ_angina,145,233,t,left_vent_hyper,150,no,2.3,down,0,fixed_defect,negative
37,male,non_anginal,130,250,f,normal,187,no,3.5,down,0,normal,negative
41,female,atyp_angina,130,204,f,left_vent_hyper,172,no,1.4,up,0,normal,negative
56,male,atyp_angina,120,236,f,normal,178,no,0.8,up,0,normal,negative
57,female,asympt,120,354,f,normal,163,yes,0.6,up,0,normal,negative
57,male,asympt,140,192,f,normal,148,no,0.4,flat,0,fixed_defect,negative
片段和输出:
:/tmp:~ cat a.py
import arff
for row in arff.load('heart_train.arff'):
print(row.sex)
:/tmp:~ python a.py
male
male
female
male
female
male
:/tmp:~
male
:/tmp:~
【讨论】:
以上是关于ImportError:没有名为 arff 的模块的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:没有名为 ghostscript 的模块
ImportError:没有名为 pynotify 的模块。安装模块时