使用XLWings进行并行处理

2024-04-26 18:47:26 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我对并行处理不太熟悉,但我开始让它同时解析多个Excel文件。当我只使用openpyxl时,它能很好地工作,但据我所知,这是一个基本的XML解析器。当我包括使用XLWings的部件时(我喜欢利用它在Excel中计算公式以进行文件验证),我得到以下错误:

pywintypes.com_error: (-2147221008, 'CoInitialize has not been called.', None, None)

这大致就是我用来初始化一个新的XLWings实例并加载工作簿的代码:

^{pr2}$

有没有办法让XLWings同时打开多个Excel实例?我应该试着做一些类似this的事情吗?如果是这样的话,我不确定将线程交给XLWings后,初始化将如何工作。在


Tags: 文件实例comnone解析器利用部件错误
1条回答
网友
1楼 · 发布于 2024-04-26 18:47:26

所以我想出了解决办法,其实很简单。我刚刚在我的xw.apps.add()电话:

平行线lelProcessController.py在

from multiprocessing.dummy import Pool
from LoadWorkbook import openWorkbook

def callOpenWorkbookInParallel(self, lsExcelFiles):
    pool = Pool(processes=3)

    pool.map(openWorkbook, lsExcelFiles)

在加载工作簿.py在

^{pr2}$

相关问题 更多 >