2014-02-25 26 views
2

所以我有一些代碼使用lxml包從雅虎財務中刪除一些關於財務數據的HTML,並對其執行各種操作。我創建了一個包含我需要的所有相關信息的字典,並且我一直試圖使用pickle來保存對象,因爲每次創建它需要大約5分鐘的時間。然而,當我嘗試使用下面的代碼行,我得到的錯誤在我的標題以上:使用pickle時出錯,TypeError:無法泡製ElementBase對象

file = open('file.obj', 'w') 
pickle.dump(headline_dictionary, file) 

正如我與泡菜一點經驗,我認爲這個問題來自於這樣ElementBase對象由創建的事實lxml軟件包不能被醃製。如果是這樣的話,還有另一種方法可以保存我的對象,或者我用錯誤的方法使用泡菜嗎?

提前致謝!

+0

是什麼'headline_dictionary'(β型),也請提供錯誤回溯。 –

+1

是的,您可能無法泡菜,請參閱:http://stackoverflow.com/a/8274474/797744 – DBedrenko

+0

酸洗lxml不起作用。你爲什麼不希望將這些數據直接保存爲XML? – emh

回答

0

我碰到了和你一樣的問題。爲了將字典保存爲pickle對象,首先需要將字典的值(即通過lxml刮取的數據)作爲字符串或整數進行轉換。這是你的解決方法。

例代碼,其中值已經通過LXML刮:

dict["key"] = str(value) 
+0

這不是一個完整的答案,你能詳細說明它是否支持一些代碼嗎? – Ibo

相關問題