簡體   English   中英

在Mac中加載在Linux中腌制的數據失敗

[英]Loading data pickled in linux fails in mac

我正在Linux機器上保存一個python數據集,該數據集包含一個類以及所引用的字典和類。 該文件通常在Windows或Linux上加載,但是在Mac上,如果使用'rb'修飾符加載,則會出現以下錯誤:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
KeyError: '\x00'

如果使用'rU'修飾符加載,則會出現此錯誤:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
KeyError: '\x06

嘗試使用泡菜,cPickle和蒔蘿進行保存和裝載,所有這些都具有相似的結果。

更新:在Linux中保存並在Mac大熊貓DataFrames中加載時,我得到了這個確切的錯誤:

import pandas as pd
import numpy as np
pd.DataFrame(np.random.randn(100000,5)).to_pickle("1.dat")

嘗試使用以下代碼打開1.dat im mac時,錯誤再次發生:

pd.read_pickle("1.dat")

問題解決了。

這是由於在Mac中安裝了網絡linux驅動器后引起的,這導致在傳輸的每個大數據塊的末尾插入一個空字符,從而導致錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM