TypeError:“ IMapIterator”类型的对象的pool.imap没有len()

时间:2018-11-27 08:38:59

标签: python multiprocessing pool

我遇到以下错误:

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)

我该如何克服这个错误。谁能帮忙

1 个答案:

答案 0 :(得分:1)

所以IMapIterator是可迭代的,但是您需要一些像列表一样的东西(具有len())。因此,使其成为列表:

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