使用多重处理在流程中依次运行多种功能

时间:2020-08-05 14:09:40

标签: python multiprocessing

我是multiprocessing上的新手。

我要实现的目标是使用多重处理在一个流程中依次运行多个功能。

示例:

我有5个数据框,需要在5个单独的表中插入数据库中。 在插入之前,我想检查数据格式是否正确,列顺序是否正确,以及对数据质量的简要检查。 假设我已经编写了4个函数,即correct_data_format()column_order()data_quality()。还添加一个insert_db()函数。

我想为每个数据帧运行这4个函数。

在我看来,每个数据框应该有5个不同的进程,并且每个进程应该依次运行上述4个函数(correct_data_format()-> column_order-> data_quality-> { {1}})

如何使用insert_db软件包实现这一目标?

1 个答案:

答案 0 :(得分:2)

假设您有5个数据帧df1,df2,df3,df4和df5。 以下代码可能会做您想要的事情:

import multiprocessing

def func(df):
    correct_data_format(df)
    column_order(df)
    data_quality(df)
    insert_db(df)
    ...
    [some other stuff]

pool = multiprocessing.Pool()
pool.map(func, (df1, df2, df3, df4, df5))