2

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 ファイルを 1 行ずつ入力として読み取ることです。

data = fid.readlines()

その結果、正しく動作しません。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

numpy.savetxtnewlineデフォルトで\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 エディタで 1 つの列に配置する必要があり、Windows で実行されるプログラムはそれを読み取ることができる必要があります。

于 2012-11-06T20:34:35.630 に答える