Python ,numpy,pandas, scipy,matplot,opencv中的读取和保存数据的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_36161077/article/details/81134838

pickle:

这个使用起来特别方便,这里简单提一下,不管是什么类型的数据,都能使用pickle一次性将其存入到文件中去。

import pickle 
with open(filepath + filename,'wb') as f:
    pickle.dump(data,f)

举个例子:

# filepath = '/home/niuawan'
# filename = 'data.pickle'

则我们可以使用以下代码将我们的数据data倒入到data.pikcle中,当然这里的文件类型是我自己定义的,读者可以根据自己的喜好来改变后缀名,如.txt,要注意的是我们是要将数据写入到文件中,所以我这里使用了‘wb’(二进制写入)的方式写入数据。

import pickle 
with open(filepath + filename,'wb') as f:
    pickle.dump(data,f)

我们使用pickle.dump将数据存入到文件中。Dump的意思显而易见,就是倒入的意思,也就是将数据导入文件中。
使用以下代码可以将存入的数据导出来:

with open('/home/niuawan/data.pickle','rb') as f:
    data = pickle.load|(f)

大家可以注意到以上我都使用了with open() as f: 这样的方法来打开数据,这样打开数据的好处是我们可以在读取完数据之后将文件关闭。当然也可以使用以下方法来打开文件:

f= open('/home/niuawan/data.pickle','rb')
data = pickle.load(f)
f.cloase()

我曾经尝试过用python2的pickle写入数据,用python3的pickle读取数据,但是报错了,所以还是以哪个版本的python写入就以哪个版本的python来读取吧。

numpy:

import numpy as np
np.save(filepath + filename,data)

注意我们需要读入的是ndarray数据。

data = np.load(fileppath + filename)

pandas:
pandas 针对不同类型的文件分别设置了几种不同的读取方式:
如读取txt,csv文件:
可以使用:

data = pd.read_csv(filepath + filename)

如果是excel文件可以使用:

Data= pd.read_excel(filepath + filename)

我这里就简单说一下几个比较重要的吧!
Header:有时候都出来的数据比我们的数据多一行,这时候我们要加入参数header = None,如果数据列与列之间是用一些空格或者tab分开的,可以使用参数delimwhitespace = True来分隔列,如果列与列之间使用一些符号分隔的,可以使用sep参数,如用逗号分隔列,那么可以使用:

data = pd.read_csv(filepath + filename,header = None,sep = ',')

下面说一下pandas的数据存储方式,比如我们要利用pandas将数据写入excel中,可以使用以下代码:

df.to_excel(filepath + filename)

注意我们这里的数据就是df,df是DataFrame的data,而DataFrame是pandas的数据格式。

Scipy中有一种非常实用的数据保存方式:

import scipy.io as sio 
sio.savemat(data,filepath + filename)

注意我们这里的data是字典的格式。
导出数据:

data = sio.loadmat(filepath + filename)

Matplot:
Matplot其实就更简单了,我们这里只说一种数据的保存方式吧:

import matplotlib.pyplot as plt 
plt.savefig()

当然我们也可以使用:plt.imshow()#或者plt.plot() 看你保存的是图像数据还是fig曲线数据plt.show()会出现一个gui画面,gui中有保存数据的按钮。

Opencv读取图片这里就不多介绍了,主要就是利用cv2.imread()来读取图片。
保存的话可以使用下面的函数:

cv2.imwrite(filepath + filename,image)

猜你喜欢

转载自blog.csdn.net/baidu_36161077/article/details/81134838