leer archivo

Chema Cortes py en ls-l.org
Mar Mar 29 09:15:33 CEST 2005


alexander rodriguez escribió:
> hola 
> soy principiante con pyton, nesecito ayuda pues quiero leer un archivo .xls en el cual tengo un listado, como hacerlo y donde hay documentacion al respecto, en español.ç


En windows, se puede acceder a un fichero de excel con odbc ó ado, 
aunque te recomiendo que no uses odbc con excel porque tiene algunos 
problemas para leer las cabeceras de tablas.

Para ado puedes utilizar el adodbapi (http://adodbapi.sf.net), un módulo 
que sigue la DB-API estándar de python, por lo que es muy sencillo. Te 
pongo un ejemplo:


import adodbapi
import datetime

f_xls=r"\\RUTA\al\fichero.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()

cur.execute("select nombre, fecha from [agenda$] where nuevo='S'")

print cur.fetchmany(10)

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


Observaciones: el nombre del origen de datos sería el rango al estilo 
excel puesto entre corchetes [nombre hoja$A1:H10]. Si no quieres dar el 
rango, puedes dejarlo sólo con el nombre [nombre hoja$]. La primera fila 
sería la cabecera de donde pilla el nombre de los campos. Si tu tabla no 
tiene cabecera habría que poner en el DSN HDR=0. Entonces el nombre de 
los campos serían Fn, siendo n el número de columna.




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