Python中数据的保存和读取
在科學(xué)計(jì)算的過程中,往往需要保存一些數(shù)據(jù),也經(jīng)常需要把保存的這些數(shù)據(jù)加載到程序中,在 Matlab 中我們可以用 save 和 lood 函數(shù)很方便的實(shí)現(xiàn)。類似的在 Python 中,我們可以用 numpy.save() 和 numpy.load() 函數(shù)達(dá)到類似的效果,并且還可以用 scipy.io.savemat() 將數(shù)據(jù)保存為 .mat 格式,用scipy.io.loadmat() 讀取 .mat 格式的數(shù)據(jù),達(dá)到可以和 Matlab 或者Octave 進(jìn)行數(shù)據(jù)互動(dòng)的效果.
下面分別介紹之:
numpy.save() 和 numpy.load()numpy.save(arg_1,arg_2) #需要兩個(gè)參數(shù),arg_1 是文件名,arg_2 是要保存的數(shù)組. 如:import numpy as npa=np.mat('1,2,3;4,5,6')b=np.array([[1,2,3],[4,5,6]])np.save('a.npy',a)np.save('b.npy',b)這個(gè)時(shí)候 Python 的當(dāng)前工作路徑下就會(huì)多出 a.npy 和 b.npy 兩個(gè)文件,當(dāng)然我們也可以給出具體的路徑,如 np.save(‘D:/PythonWork/a.npy’,a)
下面我們把保存的這兩個(gè)數(shù)據(jù)文件導(dǎo)入到Python :
我們可以看到這一過程把原本為矩陣的 a 變?yōu)閿?shù)組型了
如果想同時(shí)保存 a b 到同一個(gè)文件,我們可以用 np.savez() 函數(shù),具體用法如下:
這時(shí)的 c 是一個(gè)字典,需要通過關(guān)鍵字取出我們需要的數(shù)據(jù)
下面我們來認(rèn)識(shí)下 scipy.io.savemat() 和 scipy.io.loadmat()
首先我們用 scipy.io.savemat() 創(chuàng)建 .mat 文件,該函數(shù)有兩個(gè)參數(shù),一個(gè)文件名和一個(gè)包含變量名和取值的字典.
import numpy as npfrom scipy import ioa=np.mat('1,2,3;4,5,6')b=np.array([[1,1,1],[2,2,2]])io.savemat('a.mat', {'matrix': a})io.savemat('b.mat', {'array': b})總結(jié)
以上是生活随笔為你收集整理的Python中数据的保存和读取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Python中的无参装饰器和有参装饰器
- 下一篇: Python中的itertools.pr