2009-02-16 41 views
5

Me dieron la tarea de conectar mi código (fortran) con py (2.5), y generar una serie de informes de Excel si es posible. La primera parte fue bien, y ya terminó, pero ahora estoy trabajando en la segunda.python excel haciendo reportes

¿Cuáles son mis opciones para hacer hojas de Excel (2007 si es posible) de python? En general, necesitaría poner algunos valores de matriz en ellos en una tabla (el formato no importa) y dibujar una cantidad de cuadros de esas tablas. ¿Hay alguna manera de hacer esto automáticamente? Alguna biblioteca?

¿Alguien ha hecho algo como esto en el pasado?

Respuesta

3

Su enfoque más simple es usar la biblioteca csv de Python para crear un archivo CSV simple. Excel los importa sin esfuerzo.

Luego haces cosas de Excel para hacer gráficos de las páginas creadas a partir de hojas CSV.

Existen algunas recetas para controlar Excel desde dentro de Python. Vea http://code.activestate.com/recipes/528870/ para un ejemplo. El ejemplo tiene referencias a otros proyectos.

Además, puede usar pyExcelerator o xlwt para crear un libro de Excel más completo.

+2

Nota: ni pyExcelerator ni xlwt hacen gráficos. –

2

creo que usted tiene dos opciones:

  1. control de Excel desde Python (usando pywin32, ver this question). Requiere Windows y Excel.
  2. Utilice la biblioteca de Python pura xlwt.

No he probado xlwt, no sé si maneja gráficos.

1

PyExcelerator tiene algunos caprichos que necesita para evitar (al menos lo hizo la última vez que lo usé), pero hará el trabajo bastante bien.

No he intentado xlwt, pero como es una bifurcación de PyExcelerator, uno podría sospechar que tiene todas las mismas características y, con suerte, menos peculiaridades.

+0

"Menos peculiaridades" o "menos peculiaridades"? –

+1

Al no ser un hablante nativo de inglés, ¿no estoy seguro de ver la diferencia entre los dos? – Epcylon

1

Hay un paquete en PyPi llamada xlutils lo que podría ayudar y hay this presentation from Chris Withers (charla relámpago de la última EuroPython creo) donde se puede ver un código de ejemplo con XLRD y xlwt . Parece fácil ;-)

Espero que ayude.

Cuestiones relacionadas