PYTHON-pandas-pickle(Python对象序列化)
pickle模块实现了一个强大的算法,能够对用Python实现的数据结构进行序列化( pickling )和反序列化操作。序列化是指把对象的层级结构转换为字节流的过程。
- 用CPickle实现Python对象序列化- pickle模块(或cPickle)使用的数据格式是Python独有的,默认使用ASCII表达式,以增强可读性。 - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12- # 使用模块前,需要先导人它 
 import cPickle as pickle
 # 创建具有内部结构的足够复杂的对象
 data={'color':['white','red'],'value':[5,7]}
 # 用cPickle模块的dumps()函数对data对象执行序列化操作。
 pickled_data = pickle.dumps(data)
 # 输出pickled_data变量的值,查看dict对象序列化的结果。
 print(pickled_data)
 # 数据序列化后,在写入文件或用套接字、管道等发送都很简单
 # 传输结束后,用cPickle模块的loads()函数能够重建被序列化的对象(反序列化)
 nframe = pickle.loads(pickled_data)
- 用pandas实现对象序列化- pandas的序列化格式并不是完全使用ASCII编码。 - 1 
 2- frame = pd.DataFrame(np.arange(16).reshape(4,4),index=['up','down','left','right']) 
 frame.to_pickle('frame.pkl')- 工作目录中将生成新文件frame.pkl,其包含frame中的所有信息。使用以下命令,就能打开PKL文件,读取里面的内容。 - 1 - pd.read_pickle('frame.pkl') - pandas的所有序列化和反序列化操作都在后台运行,用户根本看不到。这使得这两项操作对数据分析人员而言尽可能简单和易于理解。