2013-03-16 8 views
5

numpy.savetxtを使用して.txtファイルにnumpy配列を書き込もうとしています。私の知る限りでは、次のコードは、ドキュメントを、次のとおりです。デリミタのnumpy.savetxt

z = np.array([1,2,3]) 
np.savetxt('testdata.txt',z,delimiter='hi') 

しかし、メモ帳で開かれた出力ファイルには、値の間の区切り文字hiなし

1.000000000000000000e+002.000000000000000000e+003.000000000000000000e+00 

を示しています。これがなぜ起こっているのでしょうか?私の目標は、各値の間に新しい行を追加することです。

答えて

8

2D配列が必要です。軸0は行、軸1は列です。だから私は2次元配列に変換するz[None, :]を使用します。

from StringIO import StringIO 
s = StringIO() 
z = np.array([1,2,3]) 
np.savetxt(s,z[None, :],delimiter='hi') 
s.getvalue() 

出力:

1.000000000000000000e+00hi2.000000000000000000e+00hi3.000000000000000000e+00\n 
+2

おかげHYRY。どのように新しい行でエントリを区切るか考えていますか? – Doubt

+0

+1を0番目の軸のインデックスとして使用してサイズを強制的に変更する場合は+1してください。 –