Just a thought (and maybe you’ve already considered this), but it depends on how you are reading the data in: could you not insert the on-the-fly?
Read the excel headers.
Insert the new headers
Read the data, row by row, until you hit a new ID
Insert the new headers.
Do the above until EOF
No worries , i found a simple way to do it without using python. In the output excel simply select all the worksheets (in my case 100’s). Insert the 3 lines empty lines and then use =CONCATENATE (“Desc”: B5), =CONCATENATE (“Header1:”: C5) etc etc. Much less frustrating than battling with pandas