如何在Python中迭代保存数组文件?

时间:2017-11-03 20:58:32

标签: python file numpy

我想在for循环中做这样的事情:

$(document).ready(function() {
  $('#list').DataTable({
    "scrollY": "200px",
    "scrollCollapse": true,
    "paging": false,
    "searching": false,
    "info": false,
    "ordering": false
  });
});

但是我想将每个数组x保存为我的文件中的新行,但是上面的代码不会发生这种情况,有人可以帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

with open('t.txt', 'w') as f:
    for i in range(n):
        x = vector()
        np.savetxt(f, x, newline=" ")
        f.write('\n')

即,将已经打开的文件句柄传递给numpy的{​​{1}}函数。这样它就不会覆盖现有内容。另请参阅Append element to binary file

答案 1 :(得分:0)

我会选择(未经测试!):

for i in range(n):
    x = vector()
    with open("t.txt", "a") as f:  # "a" for append!
        f.write(np.array_str(x))

要做出一些决定:

  • 在每次迭代中打开/关闭文件与保持文件处理程序打开
  • 使用np.array_str / np.array_repr / np.array2string

这当然是基于这样的假设,即您不能在一次写入所有数据之前等待获取所有数据! (在线设置)