编写csv头从下面写的numpy数组中删除数据

use*_*095 4 python csv numpy

我正在尝试将数据导出到csv文件.它应该包含一个标题(来自datastack)和带有我的数据的重新包装数组(来自datastack).datastack中的一行与数据集的长度相同.下面的代码可以工作,但它会从datastack中删除第一行的部分内容.任何想法为什么会这样?

s = ','.join(itertools.chain(dataset)) + '\n'
newfile = 'export.csv'
f = open(newfile,'w')
f.write(s)
numpy.savetxt(newfile, (numpy.transpose(datastack)), delimiter=', ')
f.close()
Run Code Online (Sandbox Code Playgroud)

fma*_*ark 6

你是一个文件名为'export.csv'的文件两次,一次打电话open(),一次打电话numpy.savetxt().因此,有两个打开的文件句柄竞争相同的文件名.如果您传递文件句柄而不是文件名,则numpy.savetxt()可以避免此竞争条件:

s = ','.join(itertools.chain(dataset)) + '\n'
newfile = 'export.csv'
f = open(newfile,'w')
f.write(s)
numpy.savetxt(f, (numpy.transpose(datastack)), delimiter=', ')
f.close()
Run Code Online (Sandbox Code Playgroud)