将numpy数组保存为单个列的txt文件?

时间:2012-08-01 08:38:34

标签: python arrays numpy

我正在尝试将一个numpy数组写入txt文件:

a = numpy.array([1,2,3])
numpy.savetxt('a.txt',a,fmt='%.3f')

当我打开txt文件时,它看起来像:

1.0002.0003.000

但是当我将其粘贴到单词中时,它看起来像:

1.000

2.000

3.000

问题是另一个程序逐行读取txt文件作为输入:

data = fid.readlines()

因此它无法正常工作。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

numpy.savetxt有一个关键字参数newline,默认为\n(unix / linux换行符)。

您可以手动设置它,也可以使用os.linesep选择当前操作系统的换行符。所以

import os
import numpy as np

a = np.array([1,2,3])
np.savetxt('a.txt', a, fmt='%.3f', newline=os.linesep)  

应该在一个带有Windows编辑器的列中,在Windows下运行的程序应该能够读取它。