我可以使用函数np.savetxt()指定不同的小数位

时间:2013-09-19 12:09:47

标签: python file-io numpy

我可以使用np.savetxt()在每列中指定diferente小数位吗? 数据是一个包含2923行和10列的数组。

def Write_file(path,header,data):
         fid = open(path,'w') # open file (w)
         for i in xrange(len(header)):
                  fid.write(header[i]) # write header
         np.savetxt(fid,data,fmt='%7.3f')
         fid.close() # close file
         return True

我尝试使用np.savetxt(),但不起作用。这是我需要的输出格式

for i in xrange(2923):
             fid.write('%i   %7.0f  %7.4f  %7.4f  %7.3f  %7.3f  %7.3f  %7.3f  %7.3f  %7.3f'%(data[i,0],data[i,1],data[i,2],data[i,3],data[i,4],data[i,5],data[i,6],data[i,7],data[i,8],data[i,9]))

1 个答案:

答案 0 :(得分:2)

你可以直接传递

fmt='%i %7.0f %7.4f %7.4f %7.3f %7.3f %7.3f %7.3f %7.3f %7.3f'

savetxt。正如documentation所述,您可以传递多格式字符串,例如'Iteration %d – %10.5f'