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()

這樣,就已經可以滿足我比較兩個列表的想法了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章