我正在嘗試使用多處理技術來加速讀取大熊貓的excel。然而,當我使用多,我發現了錯誤 cPickle.PicklingError:不能鹹菜:屬性查找__builtin __功能失效使用pathos.multiprocessing時cPickle錯誤?
當我嘗試運行以下命令: 進口蘿 從pathos.multiprocessing進口ProcessPool
class A(object):
def __init__(self):
self.files = glob.glob(\*)
def read_file(self, filename):
return pd.read_excel(filename)
def file_data(self):
pool = ProcessPool(9)
file_list = [filename for filename in self.files]
df_list = pool.map(A().read_file, file_list)
combined_df = pd.concat(df_list, ignore_index=True)
是不是pathos.multiprocessing旨在解決這個問題?我在這裏忽略了什麼嗎?
編輯: 完整的錯誤代碼跟蹤到
File "c:\users\zky3sse\appdata\local\continuum\anaconda2\lib\site-packages\pathos-0.2.0-py2.7.egg\
pathos\multiprocessing.py", line 136, in map
return _pool.map(star(f), zip(*args)) # chunksize
File "C:\Users\ZKY3SSE\AppData\Local\Continuum\Anaconda2\lib\multiprocessing\pool.py", line 251, in map
return self.map_async(func, iterable, chunksize).get()
File "C:\Users\ZKY3SSE\AppData\Local\Continuum\Anaconda2\lib\multiprocessing\pool.py", line 567, in get
raise self._value
它看起來像你在Windows上,如果你沒有使用freeze_support,你可以得到這個神祕的錯誤。如果您可以發佈一些測試代碼來證明其他人可以輕鬆運行的錯誤,那麼您可能會得到一個更完整的答案來演示工作代碼。 –