Re: ¿Algo de Python con Excel?

Chema Cortes pych3m4 en gmail.com
Mie Nov 30 03:36:31 CET 2005


El 29/11/05, Puga Lenin<lenin.puga en clickmx.com> escribió:
>
>         Que tal, actualmente trabajo 100% en la oficina con Microsoft Office, para ser mas exacto
>         con la hoja de calculo de Excel, existe alguna libreria o modulo para trabajar con Excel,
>         quiero saber que se puede encontrar de Python para Excel, saludos y gracias.

Yo lo estoy haciendo sin mucha complicación a través del módulo
'adodbapi' al que le paso una cadena DSNLess para que utilice el motor
Jet. Algo así:

import adodbapi
import datetime

f_xls=r"\\servidor\Trabajo\prueba.xls"
dsn=r'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended
Properties="Excel 8.0;HDR=Yes;IMEX=1"'%f_xls

con=adodbapi.connect(dsn)
cur=con.cursor()

fecha_tope=datetime.date(2005,11,30)

cur.execute("select cod_centro,nif,fecha_inicio,fecha_fin from
[Hoja1$] where fecha_fin<%s", fecha_tope)

print cur.fetchmany(10)

s=cur.fetchone()
print s[2].strftime("%d/%m/%Y")


El módulo adodbapi utiliza la DB-API2, por lo que se usa sentencias
SQL normales para todo (select, insert, update,...). Lo único a tener
en cuenta es que las tablas hay que nombrarlas entre corchetes,
utilizando la nomenclatura de "rangos" que usan las hojas de cálculo
(pe: [Hoja1$A1:B4]).

Como nombres de campo, usa la primera línea (HDR=Yes). Si no tenemos
cabecera, se puede hacer HDR=No en la cadena que se pasa al adodbapi.
En éste caso, los campos toman los nombres F1, F2, F3,....

Mödulo adodbapi: http://adodbapi.sf.net




Más información sobre la lista de distribución Python-es