2013-03-16 39 views
5

Tôi đang cố gắng viết mảng có khối lượng vào một tệp .txt bằng cách sử dụng numpy.savetxt. Để tốt nhất tôi có thể nói, đoạn code sau theo tài liệu:Dấu phân tách của numpy.savetxt

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

Tuy nhiên, các tập tin đầu ra, mở với Notepad, cho thấy

1.000000000000000000e+002.000000000000000000e+003.000000000000000000e+00 

mà không delimiter hi giữa các giá trị. Vài ý tưởng tại sao nó như thế? Mục tiêu của tôi là thêm các dòng mới giữa mỗi giá trị.

Trả lời

8

Bạn cần mảng 2D, trục 0 là hàng và trục 1 là cột. Vì vậy, tôi sử dụng z[None, :] để chuyển nó sang mảng 2D:

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

đầu ra:

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

Cảm ơn HYRY. Bất kỳ ý tưởng làm thế nào để tách các mục bằng một dòng mới? – Doubt

+0

+1 để sử dụng None làm chỉ số trục 0 để buộc thay đổi kích thước! –

Các vấn đề liên quan