首页 > 其他 > 详细

pickle包

时间:2021-01-28 18:10:31      阅读:20      评论:0      收藏:0      [点我收藏+]

之前一直觉得matlab有mlx,python有ipynb(Jupyter Notebook),R就没有原生态的工具?直到发现了Rmd

后来觉得matlab有mat,R有Rdata,Python难道没有自己的数据保存格式?

其实,pickle可以在一定程度上完成这一功能。(学习自https://blog.csdn.net/chunmi6974/article/details/78392230/)

官网:https://docs.python.org/3/library/pickle.html

pickle可以将内存中的Python对象转换成为文本流,然后写入txt中。

pickle模块只能在python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化,

pickle序列化后的数据,可读性差,人一般无法识别。

由于其可读性较差,所以为了强调数据类型,也可以用一种自定义的文件后缀,如pydata。

  • pickle.dump(obj, file[, protocol]):序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。
  • pickle.load(file):反序列化对象。将文件中的数据解析为一个Python对象。

其中要注意的是,在使用load(file)加载类对象时,要让python能够找到类的定义,否则会报错。

import pandas as pd
test_dict = {id:[1,2,3],
             name:[Alice,Bob,Cindy],
             math:[90,89,99],
             english:[89,94,80]}
test_df = pd.DataFrame(test_dict)
import pickle 
f=open(test.pydata,wb)
pickle.dump(test_df,f)
f.close()
del test_df
f=open(test.pydata,rb)
test_df=pickle.load(f)
f.close()
test_df

技术分享图片

pickle包

原文:https://www.cnblogs.com/dingdangsunny/p/14338032.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!