0

我有一个脚本,旨在通过多处理管理器将 excel 工作簿(通过 openpyxl)传递给多个工作人员。

似乎以某种方式在多处理管理器中未正确表示 openpyxl 对象,并且该对象被不正确地重新实例化,并给出以下错误消息: TypeError: __init__() missing 1 required positional argument: 'worksheet'

这是一个MWE:

import multiprocessing
import openpyxl

excelfile = r"path-to-excel.xlsx"

workbook = openpyxl.load_workbook(excelfile)

print(workbook.sheetnames)

if __name__ == "__main__":
    with multiprocessing.Manager() as mananger:
        run_dictionary = mananger.dict()
        run_dictionary['workbook'] = workbook

        print(run_dictionary['workbook'].sheetnames)

as manager环境之外操作时,读取对象属性可以正常工作,但是在该环境中执行时,Error会引发 。

我在这里看到openpyxl和多处理可能存在一些问题,但就我而言,我只是在阅读excel。

4

0 回答 0