似乎line [0],line [1],line [2],line [3]是dist_hist的元素. dict_hist是一个numpy.ndarray. dict_hist的元素有一个数字类型(如np.float64)(基于附件中的计算).您正在尝试添加不同类型的元素:np.float64和str.如果要避免此TypeError,可以将line [0],line [1],line [2],line [3]的类型更改为str.
您的代码片段应如下所示:
name_out = "histogram_"+donor+"_"+acceptor+".dat"
f = open(name_out,'w')
f.write('distance d.probability efficiency e.probability')
for line in dist_hist:
f.write(str(line[0])+' '+str(line[1])+' '+str(line[2])+' '+str(line[3]))
f.close()
print "data saved in " +"histogram_"+donor+"_"+acceptor+".dat"
编辑:
你应该替换这段代码:
name_out = "histogram_"+donor+"_"+acceptor+".dat"
f = open(name_out,'w')
f.write('distance d.probability efficiency e.probability')
for line in dist_hist:
f.write(line[0]+' '+line[1]+' '+line[2]+' '+line[3])
f.close()
到这一个:
name_out = "histogram_" + donor + "_" + acceptor + ".dat"
f = open(name_out,'w')
f.write('distance d.probability efficiency e.probability\n')
for line in dist_hist:
f.write(str(line[0]) + ' ' + str(line[1]) + ' ' + str(line[2]) + ' ' + str(line[3]) + '\n')
f.close()
在此之前,字符串被写入一行文件.因为你的数据变量指向空数组,因为我们开始从第二行(它是空的)读取.