ImportError: No module named arff

arff, import, machine-learning, python

Solution

You should rename your script from `arff.py` to something different, `arfftest.py` for example. Python cant import `arff` module you need because name of it is the same as your app file name.

And if you havent installed `arff` package itself, install it with pip or easy_install:

pip install arff
# or easy_install arff
# or pypm install arff

Problem

Here's a simple code as in this link to read an arff file in python (the commented one didn't work too): ``` import arff for row in arff.load('heart_train.arff'): print(row.sex) ``` And here's the error I receive: ``` 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 file data is like: ``` @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 ... ```

Original source