2016-01-07 70 views
3

我創建從大熊貓數據幀一msgpack文件,使用下面的代碼:如何解碼Python中的msgpack文件?

df.to_msgpack('ixto.msg') 

我已經證實,該文件被保存在目錄中,但因爲我不能用msgpack庫蟒蛇以下代碼:

unp = msgpack.unpackb('ixto.msg') 

給我以下錯誤:

AttributeError: 'str' object has no attribute 'read' 
+0

這是一個錯字?你錯過了一個尾部的引號:'unp = msgpack.unpackb('ixto.msg')' – EdChum

+0

是的,是的。現在是正確的 – Hugo

+0

另請參見:[如何使用msgpack讀取和寫入?](http://stackoverflow.com/q/43442194/562769) –

回答

4

msgpack.unpackb預計字節(因而 「b」)包含編碼的數據,並且您給它包含數據的文件的名稱。

所以,你需要先閱讀該文件:

with open('ixto.msg', 'rb') as f: 
    unp = msgpack.unpackb(f.read())