尝试使用python创建.arff文件

时间:2013-11-25 04:49:09

标签: python nlp arff

我想创建一个.arff文件,显示我的python代码中10个最有用的单词。格式应该是这样的。

@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个“真”或“假”值的列表,然后是情绪。

这是我到目前为止所写的内容,但并未按要求显示。请帮助我。

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()

1 个答案:

答案 0 :(得分:0)

你应该看看this library 它专为这个问题而设计,因为手动编码你的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)