[英]Save tuple of numpy arrays to disk?
當我運行compute
函數從圖像中提取它們時(keypoint, descriptor)
我得到一個numpy數組的元組作為(keypoint, descriptor)
。
有沒有辦法將這個元組打包在一起,以便我可以將它們保存到文件中,或者將它們作為一行寫入CSV?
有幾種方法可以做到這一點:
您可以使用Python csv
模塊 ,特別是writer
的對象 :
import csv writer = csv.writer(open("file.csv","w")) for row in array: writer.writerow(str(row))
根據這個問題 ,可能存在一些格式問題。
如評論中所述,您可以使用numpy.savetxt()
。 這可能是最好的方法:
numpy.savetxt("file.csv",array,delimiter=",")
您還可以使用pickle
模塊 :
import pickle pickle.dump(array,open("file","w"))
正如我在上面鏈接的文檔中所提到的, pickle.load()
不應該用於加載不受信任的數據。
我建議使用cPickle
而不是使用pickle
:
import cPickle as pickle
pickle.dump(array, open('file.p', 'wb'))
請注意,所有調用都與使用pickle
時相同 - 只有import
行更改。
cPickle
比pickle
快得多,大型陣列可以為您節省大量時間。
也就是說,當你處理numpy
數組時,使用numpy
的保存函數 - 例如np.savetxt
- 是你最好的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.