2010-11-19 34 views
7

Necesito editar un libro de Excel usando python. ¿Hay alguna forma de hacerlo sin leer en el libro de trabajo, editar lo que quiero y escribirlo de nuevo? es decir, ¿hay alguna manera de hacerlo en el momento, ya que solo necesito editar un par de valores por hoja?Edición de hojas de Excel con Python

He consultado pyexcelerator, xlrd y xlwt, pero solo parecen ser compatibles (por lo que puedo averiguar) leyendo y escribiendo no editando. No puedo usar pywin32 porque estoy usando linux.

¿Alguna sugerencia de bibliotecas o formas particulares de hacer las cosas?

+0

¿Es esta una xls o un archivo xlsx? –

+0

es un archivo xls –

Respuesta

2

xlutils tiene un módulo de copia que puede ser para usted interseting

+0

que hace el truco. ¡Gracias! –

9

En primer lugar, ¿qué versión de Excel? Excel2007 + usa un formato de archivo XML, mientras que Excel2003 -utilizó un formato binario patentado ... por lo que las herramientas para leer y escribir estos trabajos son totalmente diferentes.

Si busca los archivos xlsx más recientes, eche un vistazo al proyecto openpyxl de Eric 'Gazoni. El código se puede encontrar en bitbucket. La fuerza impulsora detrás de esto es la capacidad de leer y escribir archivos xlsx de Python en una sola biblioteca.

Incluso entonces, lee todo el libro, pero le permite modificar las celdas antes de volver a escribirlo.

En pocas palabras: la estructura de un archivo Excel no se presta a una fácil edición .... no se trata simplemente de cambiar unos pocos caracteres.

+0

es un archivo xls que necesito editar. –

0

he utilizado pyexcelerator en Linux para editar y crear archivos xls

Cuestiones relacionadas