pickle——保存python中数据结构的模块

前些天自己借用《machine learning in action》一书中的FP-Growth代码,实现了频繁项集的发现和关联规则的挖掘。由于数据量比较大,在用python跑的时候有时会出现kernel die的提示,kernel重启后又要重新从数据库里读数据、整理、发现频繁项集,实在不要太麻烦。于是就想基于spark实现,没准儿这些七七八八的毛病就好了呢?

在spark上实现后,尴尬的事情发生了。同一算法,spark上算出的频繁项集个数竟然和《machine learning in action》中的代码算出来的个数不同。好奇宝宝于是想一探究竟,怎么比较两段代码得到的频繁项集呢?没错,就是利用pickle模块!

python的pickle模块(泡菜模块偷笑)可以将python的数据结构,如list、tuple、dict等等都存在一个文件中,方便这些结构的持久化,同时也简化了代码。简单用法如下:

import pickle

#数据保存
temp_dict1 = {'001':'hello', '002':'world'}
file = open('test.pkl', 'wb')
pickle.dump(temp_dict1, file)
file.close()

#数据加载
file = open('test.pkl', 'rb')
temp_dict2 = pickle.load(file) #取出的temp_dict2 就可以为我们所用了
file.close()

这样,就已经可以满足我比较两个列表的想法了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章