我是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
软件包实现这一目标?
答案 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))