我正在尋找將文件保存到數組中的最簡單方法。爲此,我想使用numpy.savetxt,但問題是我的數組由n列組成(數字取決於我要做的),它包含複雜元素(x + yj)。我知道如何保存它,如果有一列和真正的元素,但我不知道該怎麼做。用python寫入文件
有沒有人有想法?
我正在尋找將文件保存到數組中的最簡單方法。爲此,我想使用numpy.savetxt,但問題是我的數組由n列組成(數字取決於我要做的),它包含複雜元素(x + yj)。我知道如何保存它,如果有一列和真正的元素,但我不知道該怎麼做。用python寫入文件
有沒有人有想法?
你可以pickle他們:
>>> A = np.array([[1,2],[3,4+2j]])
>>> pickle.dump(A, open("out.pkl", "wb"))
>>> pickle.load(open("out.pkl", "rb"))
array([[ 1.+0.j, 2.+0.j],
[ 3.+0.j, 4.+2.j]])
然而,這將是更好地使用numpy.save
和numpy.load
,他們爲此設計的,並會佔用更少的空間。
>>> np.save("out.npy", A)
>>> np.load("out.npy")
array([[ 1.+0.j, 2.+0.j],
[ 3.+0.j, 4.+2.j]])
我已經試過這個,答案是'鑄造複雜的值真正放棄虛部fh.write(asbytes(format%tuple(row)+ newline))'' – PanAkry 2012-03-14 18:16:55
'numpy.savetxt'給出輸出,而不是'numpy。 save'。 'savetxt'函數產生人類可讀的輸出,並且它不起作用。 – strcat 2012-03-14 18:18:13
numpy.save上的+1,如果你不打算在Python之外使用它。 – rdchambers 2012-03-14 19:40:08
對不起,我不能發表評論,但你看着http://stackoverflow.com/questions/3685265/how-to-write-a-multidimensional-array-to-a-text-file 。耶實際上作爲評論 – Snesticle 2012-03-14 18:10:38
我紅了,但沒有一個非常簡短的答案。事實上,我想寫'numpy.savetext('myfile',myarray,fmt = ???)''。 – PanAkry 2012-03-14 18:20:06
你試過我給的例子嗎?我在翻譯中跑了他們,所以我知道他們工作。輸出是否必須是人類可讀的? – strcat 2012-03-14 18:22:04