1

I have created an excel sheet using XLWT plugin using Python. Now, I need to re-open the excel sheet and append new sheets / columns to the existing excel sheet. Is it possible by Python to do this?

2 Answers 2

2

After investigation today, (2014-2-18) I cannot see a way to read in a XLS file using xlwt. You can only write from fresh. I think it is better to use openpyxl. Here is a simple example:

from openpyxl import Workbook, load_workbook

wb = Workbook()
ws = wb.create_sheet()
ws.title = 'Pi'
ws.cell('F5').value = 3.14156265
wb.save(filename=r'C:\book2.xls')

# Re-opening the file:
wb_re_read = load_workbook(filename=r'C:\book2.xls')
sheet = wb_re_read.get_sheet_by_name('Pi')
print sheet.cell('F5').value

See other examples here: http://pythonhosted.org/openpyxl/usage.html (where this modified example is taken from)

Sign up to request clarification or add additional context in comments.

2 Comments

I have got a message saying openpyxl does not support old xls format anymore. Confirm?
OpenPyXL does not support the XLS format.
2

You read in the file using xlrd, and then 'copy' it to an xlwt Workbook using xlutils.copy.copy().

Note that you'll need to install both xlrd and xlutils libraries.

Note also that not everything gets copied over. Things like images and print settings are not copied, for example, and have to be reset.

1 Comment

Great for us that have already used xlrd; saves me a bunch of leg work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.