我正在尝试将数据导出到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()
答案 0 :(得分: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()