利用數組的的文件輸入輸出

利用數組的文件輸入輸出

1. 將數組以二進制格式保存到磁盤

np.save和np.load是讀寫磁盤數組數據的兩個主要函數。默認狀況下,數組是以未壓縮的原始二進制格式保存在擴展名爲.npy的文件中的。數組

 

import numpy as np
arr=np.arange(10)
np.save('some_array',arr)

若是文件路徑末尾沒有擴展名.npy,則該擴展名會自動加上。而後就能夠經過np.load讀取磁盤上數組:函數

print(np.load('some_array.npy'))
#輸出[0 1 2 3 4 5 6 7 8 9]

爲了方便看到文件生成因此使用的是pycharm編寫,須要注意的是使用np.load傳入的文件名必須帶後綴.npy;經過np.savez能夠將多個數組保存到一個壓縮文件中,將數組以關鍵字參數的形式傳入便可。spa

np.savez('array_archive.npz',a=arr,b=arr)

加載.npz文件時,會獲得一個相似字典的對象,該對象將各個數組進行延遲加載:code

arch=np.load('array_archive.npz')
print(arch['b'])
#結果[0 1 2 3 4 5 6 7 8 9]

 2.存取文本文件

從文件中加載文本是一個很是標準的任務。咱們須要用np.loadtxt或更專門化的np.genfromtxt將數據加載到普通的numpy數組中。對象

這些函數都有許多選項能夠使用:指定各類分隔符、針對特定列的轉換器函數、須要跳過的行數等。blog

arr=np.array([[1,2,3],[2,3,4],[3,4,5]])
np.savetxt('array_ex.txt',X=arr,delimiter=',')

將會生成一個文本array_ex.txt文件,相反執行np.loadtxt能夠能讀取文本pycharm

print(np.loadtxt('array_ex.txt',delimiter=','))
#返回結果:
[[1. 2. 3.]
 [2. 3. 4.]
 [3. 4. 5.]]
相關文章
相關標籤/搜索