pickle——儲存python中資料結構的模組
阿新 • • 發佈:2019-02-19
前些天自己借用《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()
這樣,就已經可以滿足我比較兩個列表的想法了