首页 > 解决方案 > np.savetxt 没有写入整个数组

问题描述

我正在使用 np.savetxt 将 3d 数组写入单个 csv 文件。第一个索引存储所有 3 列和所有 131 行。然后我使用循环将其他索引附加到 csv 的底部,但最后 23 列被截断。

spars 是 3d 数组,spar 1-8 中的每一个都是 (131,3) 数组

spars = np.array((spar1,spar2,spar3,spar4,spar5,spar6,spar7,spar8))

file_out = 'spars.csv'
np.savetxt(file_out,spars[0],delimiter=',')  
for i in range(1,8):
    f = open((file_out),'a')
    f.write('\n')
    np.savetxt(f,spars[i],delimiter=',')    
    f.close

标签: pythonnumpy

解决方案


出于某种原因,因为它在重新打开之前没有关闭,所以最后 23 个元素必须被切断,也许下一个循环在它有时间完成之前开始写入?

f.close()

(带括号)解决了这个问题。


推荐阅读