How to append to an existing excel sheet with XLWT

2019-08-10 23:15发布

问题:

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?

回答1:

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)



回答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.



标签: python xlwt