Python中数据的保存和读取
2016-08-31 22:17
225 查看
在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现。类似的在 Python 中,我们可以用 numpy.save() 和 numpy.load() 函数达到类似的效果,并且还可以用 scipy.io.savemat() 将数据保存为 .mat 格式,用scipy.io.loadmat() 读取 .mat 格式的数据,达到可以和 Matlab 或者Octave 进行数据互动的效果.
下面分别介绍之:
这个时候 Python 的当前工作路径下就会多出 a.npy 和 b.npy 两个文件,当然我们也可以给出具体的路径,如 np.save('D:/PythonWork/a.npy',a)
下面我们把保存的这两个数据文件导入到Python :
我们可以看到这一过程把原本为矩阵的 a 变为数组型了
如果想同时保存 a b 到同一个文件,我们可以用 np.savez() 函数,具体用法如下:
这时的 c 是一个字典,需要通过关键字取出我们需要的数据
下面我们来认识下 scipy.io.savemat() 和 scipy.io.loadmat()
首先我们用 scipy.io.savemat() 创建 .mat 文件,该函数有两个参数,一个文件名和一个包含变量名和取值的字典.
至此 Python 的当前工作路径下就多了 a.mat 和 b.mat 这两个文件.
下面我们用 Matlab 读取这两个文件
可以看到 Matlab 已成功读取 Python 生成的 .mat 文件.
我们在来看看 Python 是怎么读取 .mat 文件的。首先来读取刚才生成的 a.mat
所以 Python 读取.mat 文件后返回的是个字典,如果要访问里面的值,就要用到关键字,如:
当然了,Python 也可以读取 Matlab 创建的 .mat 文件,从而可以把他们设置在同一工作路径下,在必要的时候进行数据的共享.
下面分别介绍之:
numpy.save() 和 numpy.load() numpy.save(arg_1,arg_2) 需要两个参数,arg_1 是文件名,arg_2 是要保存的数组. 如: import numpy as np a=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)
这个时候 Python 的当前工作路径下就会多出 a.npy 和 b.npy 两个文件,当然我们也可以给出具体的路径,如 np.save('D:/PythonWork/a.npy',a)
下面我们把保存的这两个数据文件导入到Python :
data_a=np.load('a.npy') data_b=np.load('b.npy') print ('data_a \n',data_a,'\n the type is',type(data_a)) print ('data_b \n',data_a,'\n the type is',type(data_b)) data_a [[1 2 3] [4 5 6]] the type is <class 'numpy.ndarray'> data_b [[1 2 3] [4 5 6]] the type is <class 'numpy.ndarray'>
我们可以看到这一过程把原本为矩阵的 a 变为数组型了
如果想同时保存 a b 到同一个文件,我们可以用 np.savez() 函数,具体用法如下:
np.savez('ab.npz',k_a=a,k_b=b) c=np.load('ab.npz') print (c['k_a']) print (c['k_b']) [[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]]
这时的 c 是一个字典,需要通过关键字取出我们需要的数据
下面我们来认识下 scipy.io.savemat() 和 scipy.io.loadmat()
首先我们用 scipy.io.savemat() 创建 .mat 文件,该函数有两个参数,一个文件名和一个包含变量名和取值的字典.
import numpy as np from scipy import io a=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})
至此 Python 的当前工作路径下就多了 a.mat 和 b.mat 这两个文件.
下面我们用 Matlab 读取这两个文件
可以看到 Matlab 已成功读取 Python 生成的 .mat 文件.
我们在来看看 Python 是怎么读取 .mat 文件的。首先来读取刚才生成的 a.mat
c=io.loadmat('a.mat') print (type(c)) print (c) dict {'__version__': '1.0', '__globals__': [], '__header__': b'MATLAB 5.0 MAT-file Platform: nt, Created on: Tue Aug 4 16:49:28 2015', 'a_matrix': array([[1, 2, 3],[4, 5, 6]])}
所以 Python 读取.mat 文件后返回的是个字典,如果要访问里面的值,就要用到关键字,如:
print(c['a_matrix']) [[1 2 3] [4 5 6]]
当然了,Python 也可以读取 Matlab 创建的 .mat 文件,从而可以把他们设置在同一工作路径下,在必要的时候进行数据的共享.
相关文章推荐
- python读取mysql中数据保存至列表
- python 读取txt中每行数据,并且保存到excel中
- python使用h5py读取mat文件数据,并保存图像
- python 读取txt中每行数据,并且保存到excel中的实例
- Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
- Python读取windows下记事本保存的UTF-8格式的内容,首行数据显示不正常的解决办法
- python读取数据分析数据保存数据
- 从零学python系列之从文件读取和保存数据
- Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
- python通过串口读取GPS NMEA格式的数据,并保存为csv文件
- python数据保存/读取
- 从零学python系列之从文件读取和保存数据
- python 读取摄像头数据并保存的实例
- python从oracle读取数据并且保存在本地的小操作
- 从零学python系列之从文件读取和保存数据(转)
- 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- python 读取摄像头数据并保存
- python使用numpy读取、保存txt数据的实例
- 怎样读取本地Excel数据,并保存到时服务器