Crear un Excel desde Python

Para generar un Excel desde Python podemos hacer uso de librerías como pyExcelerator o bien podemos hacerlo directamente usando los objetos COM que nos ofrece Windows. Si estamos en Windows y tenemos ActivePython instalado, esta segunda forma es inmediata, no necesitamos nada especial. Si estamos en Windows pero no tenemos ActivePerl, necesitaremos el módulo win32com

Abrimos el intérprete de comandos de python

c:\> python
ActivePython 2.5.1.1 (ActiveState Software Inc.) based on
Python 2.5.1 (r251:54863, May  1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

y ya podemos empezar a hacer cosas. Primero importamos el módulo de win32com, en concreto la clase Dispatch

from win32com.client import Dispatch

Ahora, pedimos a Windows que nos de un excel

xlApp = Dispatch("Excel.Application")

Si la hacemos visible, se abrirá excel y veremos lo que vamos haciendo. No es necesario

xlApp.Visible = 1

Creamos un workbook y metemos algo en alguna celda

xlApp.Workbooks.Add()
xlApp.ActiveSheet.Cells(1,1).Value = "Hola mundo"

Podemos, si queremos, añadir comentarios a la celda

 xlApp.ActiveSheet.Cells(1, 1).ClearComments()
 xlApp.ActiveSheet.Cells(1, 1).AddComment()
 xlApp.ActiveSheet.Cells(1, 1).Comment.Text(Text = 'Un comentario')

Finalmente, podemos salvar. Hay varias formas, pero si no queremos que nos salga el díálogo de "salvar" de excel, podemos hacerlo así

xlApp.ActiveWorkbook.SaveAs("c:/prueba1.xls")


Enlaces

Son algunos de los enlaces de donde he sacado la información. Básicamente contienen trozos de código python donde se hacen cosas con excel.