Ошибка типа: у объекта типа 'IMapIterator' нет функции len () для pool.imap - PullRequest
0 голосов
/ 27 ноября 2018

Я получаю следующую ошибку:

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 голосов
/ 27 ноября 2018

Итак, IMapIterator является итеративным, но вам нужно что-то, что действует как список (имеет len()).Итак, составьте список:

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