2

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

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

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

1.0002.0003.000

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

1.000

2.000

3.000

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

data = fid.readlines()

结果它不能正常工作。我该如何解决这个问题?

4

1 回答 1

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 下运行的程序应该能够读取它。

于 2012-11-06T20:34:35.630 回答