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?
 
    