2013-11-25 2 views
0

Я хочу создать файл .arff, который отображает 10 самых полезных слов из моего кода на Python. Формат должен быть таким.пытается создать файл .arff с помощью python

@attribute pattern1 {yes,no} 
@attribute pattern2 {yes,no} 
...... 
....... 
@attribute emotion {angry,disgusted,fearful,happy,sad,surprised} 

@data 
yes, no, no,......, yes, happy 
no, no, no,....., no, angry 
yes, yes, no,......, yes, sad 

Каждая из строк должна содержать список из 10 «истинных» или «ложных» значений, а затем эмоции.

Это то, что я написал до сих пор, но он не отображается по мере необходимости. PLS помочь мне.

f = open("emotions.txt", "w") 
f.write('''@RELATION Emotions\n 
    @ATTRIBUTE word{yes,no} 
    @ATTRIBUTE class {angry,sad,happy,surprised,fearful,disgusted} 
    @DATA\n''') 
for word in varall: 
f.write("%s\n" %word) 
f.close() 
+0

Как 'varall' определено в коде? – jwodder

+0

как список varall = [] – user2998991

+0

может кто-нибудь помочь мне с этим PLS? – user2998991

ответ

0

вы должны проверить this library Он был разработан как раз для этой проблемы, так как handcoding ваш выход ARFF не является хорошей идеей.

Для ваших атрибутов вы будете делать что-то вроде этого:

arff_writer = arff.Writer(fileName, relation='Emotions', header_names=['pattern1','pattern2', ... 'emotion') 
arff_writer.pytypes[arff.nominal] = '{angry,disgusted,fearful,happy,sad,surprised}' 
arff_writer.write([arff.nominal('emotion')]) 

И для ваших данных:

data = [[1,2,'a'], [3, 4, 'john']] 
arff.dump(open(fileName, 'w'), data, relation="whatever", header_names) 
Смежные вопросы