我是multiprocessing
的新手。
我试图实现的是使用多处理在一个进程中按顺序运行多个函数。
例:
我有 5 个数据帧需要插入到 5 个单独表中的数据库中。 在插入之前,我想检查数据格式是否正确,列顺序是否正确,简要检查数据质量。 假设我写了 4 个函数,即correct_data_format()
、column_order()
和data_quality()
。还添加一个insert_db()
函数。
我想为每个数据帧运行这 4 个函数。
在我看来,每个数据帧应该有 5 个不同的进程,每个进程应该按上述 4 个函数的顺序运行(correct_data_format()
->column_order
->data_quality
->insert_db
)
如何使用multiprocessing
包来实现这一点?
假设您有 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))