将数组写入文本文件

时间:2014-10-28 06:42:37

标签: python-2.7 multidimensional-array

所以我有这个数组,说它的

import numpy as np
m = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])

我希望将其维度写入文本文件,然后我想在其下面编写数组。

我已经用

完成了这项工作
with open(filepath, 'w') as f:
    n = len(m)
    f.write(str(n) + ' \n')
    np.savetxt(f, m)

问题在于,在文件中,数字被写为浮点数,我希望它们在给出时 - 作为整数!据我所知savetxt()没有设置。

我尝试从使用savetxt()切换到使用tofile()但是这甚至不能将数组写入文件,我假设因为我已经在文件中写了别的东西首先,它会以某种方式搞乱其操作。

我想我可以通过制作一个for循环来编写它,但这似乎不仅仅是让一个函数在那里等待我使用它,如果存在的话。

1 个答案:

答案 0 :(得分:0)

我不知道这是否是您正在寻找的,但它保存了数组,在这种情况下元素都是浮点数:

import numpy as np
m= np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])

filepath = '/Path/to/file/'
fout = open(filepath + 'fout.dat', 'w')

# I'd use this if you want the full shape of the array
dimensions = np.shape(m)
print >>fout, str(dimensions) + ' \dimensions'
print >>fout, m 

fout.close()

希望这会有所帮助..