I wrote this script in python in order to modify a worksheet shared between processes:
import multiprocessing as mp
import openpyxl as op
def write(i):
i+=1
workbook = op.load_workbook('prova.xlsx')
worksheet = workbook['Sheet']
worksheet.cell(row=i, column =1, value = i*i)
workbook.save('prova.xlsx')
return i
if __name__ == '__main__':
workbook = op.Workbook()
workbook.save('prova.xlsx')
num_cpu = mp.cpu_count()
pool = mp.Pool(processes=num_cpu)
for i in range(10):
result = pool.apply_async(write,args=[i]).get()
pool.close()
pool.join()
Is this an efficient method or there is a better way to do it?