Skip to content
Advertisement

How to save a new sheet in an existing excel file, using Pandas?

I want to use excel files to store data elaborated with python. My problem is that I can’t add sheets to an existing excel file. Here I suggest a sample code to work with in order to reach this issue

JavaScript

This code saves two DataFrames to two sheets, named “x1” and “x2” respectively. If I create two new DataFrames and try to use the same code to add two new sheets, ‘x3’ and ‘x4’, the original data is lost.

JavaScript

I want an excel file with four sheets: ‘x1’, ‘x2’, ‘x3’, ‘x4’. I know that ‘xlsxwriter’ is not the only “engine”, there is ‘openpyxl’. I also saw there are already other people that have written about this issue, but still I can’t understand how to do that.

Here a code taken from this link

JavaScript

They say that it works, but it is hard to figure out how. I don’t understand what “ws.title”, “ws”, and “dict” are in this context.

Which is the best way to save “x1” and “x2”, then close the file, open it again and add “x3” and “x4”?

Advertisement

Answer

Thank you. I believe that a complete example could be good for anyone else who have the same issue:

JavaScript

Here I generate an excel file, from my understanding it does not really matter whether it is generated via the “xslxwriter” or the “openpyxl” engine.

When I want to write without loosing the original data then

JavaScript

this code do the job!

Advertisement