Domanda

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?

È stato utile?

Soluzione

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)

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top