如何在文件顶部使用numpy.savetxt

时间:2017-09-04 23:12:48

标签: python numpy

我的程序将几个numpy数组写入文本文件,然后最后我尝试将标题(另一个numpy数组)添加到文本文件的顶部。我试图写第一行(并且只是在文件的开头使用占位符),或者最好将numpy数组插入第一行。带有numpy.savetxt的头函数不会起作用,因为它只是将头部写在最后一个numpy数组而不是文件的顶部。我也试过了:

    Output.seek(0)
    np.savetxt(Output,nparr,delimiter=',',fmt='%s')

但这也不起作用。

1 个答案:

答案 0 :(得分:0)

您最初需要编写一些填充空间,然后再覆盖它。在典型的文件系统中没有“插入内容”这样的操作。

然后,为避免savetxt()截断您的文件,请将其写入StringIO对象,然后将其复制到您的文件中。像这样:

txt = StringIO.StringIO() # Python 3: io.BytesIO()
np.savetxt(txt, nparr, delimiter=',', fmt='%s')
Output.seek(0)
Output.write(txt.getvalue())

这假设Output是以合适模式打开的文件对象。