Обработка python многопроцессорной ошибки - PullRequest
0 голосов
/ 28 января 2020

Я выполняю некоторый процесс на pandas с python многопроцессорной библиотекой.

У меня есть CSV-файл со столбцами: -

enter image description here

, и я просто добавляю их с кодом ниже и распечатываю результат : -

#!/usr/bin/python
import os
import numpy as np
import pandas as pd
import shlex
import ast
from multiprocessing import Process
from multiprocessing import Pool

dff = pd.read_csv("localtest.csv")

def processor(dff):
        for index,row in dff.iterrows():
                var1 = row['var1']
                var2 = row['var2']
                res = var1 + var2
                print(res)
size = 8
df_split = np.array_split(dff, size)
print(df_split)
cores = 8
pool = Pool(cores)

for n, frame in enumerate(pool.imap(processor, df_split), start=1):
    frame.to_csv('{}'.format(n))
pool.close()
pool.join()

Сценарий работает нормально, когда нет ошибок, но предположим, что когда у меня есть CSV-файл, как показано ниже: -

enter image description here

Тогда из-за строки 2, имеющей строку, вся программа завершается ошибкой. Есть ли способ, если я могу обработать один сбой, так что мое добавление для других строк может выполнить.

Короче, есть способ, если я могу обработать сбой 2-й строки, чтобы другие строки могли работать.

...