我想创建一个.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()
答案 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)