TypeError: object of type 'IMapIterator' has no len() for pool.imap

TypeError: object of type 'IMapIterator' has no len() for pool.imap

我收到以下错误:

df_OP = pd.DataFrame([excel_write_data[idx].__dict__ for idx in range(0, 
len(excel_write_data))])

TypeError: object of type 'IMapIterator' has no len().

我正在使用 imap 进行并行处理,但出现上述错误

excel_write_data = pool.imap(pre_process, excel_read_data)

我怎样才能克服这个错误。谁能帮忙

所以 IMapIterator 是一个可迭代对象,但是你需要一些像列表一样的东西(有一个 len())。所以,把它列成一个列表:

excel_write_data = list(pool.imap(pre_process, excel_read_data))