2013-03-16 2 views
5

का डिलीमीटर मैं numpy.savetxt का उपयोग कर .txt फ़ाइल में एक numpy सरणी लिखने की कोशिश कर रहा हूं।numpy.savetxt

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

हालांकि, आउटपुट फ़ाइल, नोटपैड के साथ खुला, से पता चलता

1.000000000000000000e+002.000000000000000000e+003.000000000000000000e+00 

सीमांकक hi मूल्यों के बीच के बिना: सबसे अच्छा मैं बता सकता हूँ करने के लिए निम्न कोड प्रलेखन इस प्रकार है। कोई विचार यह क्यों हो सकता है? मेरा लक्ष्य प्रत्येक मान के बीच नई लाइनें जोड़ना है।

उत्तर

8

आपको 2 डी सरणी की आवश्यकता है, अक्ष 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

किसी आकार का उपयोग करने के लिए 0 वें अक्ष इंडेक्स के रूप में उपयोग करने के लिए +1 का आकार बदलने के लिए +1! –