[pyar] web2py (mi primer post)
Jose Jachuf
jjachuf en gmail.com
Mar Ago 25 22:57:59 ART 2015
Marcelo,
te sirve esto:
Modelo:
tb_t1 = db.define_table('t1',
Field('nombre', 'string', length=50),
Field('archivocsv', 'upload',
uploadfield='archivocsv_blob'),
Field('archivocsv_blob', 'blob', writable=False,
readable=False)
)
tb_t2 = db.define_table('t2',
Field('f1', 'string', length=50),
Field('f2', 'string', length=50),
Field('f3', 'string', length=50),
)
Controlador:
import urllib2
import csv
#Aquí lo subis
def subir_csv():
form = SQLFORM(tb_t1)
if form.process().accepted:
redirect(URL('index'))
# o
# podrías directamente redireccionar a importar_csv
# redirect(URL('importar_csv', vars=dict(id=form.vars.id)))
return dict(form=form)
#Aquí lo procesas
def importar_csv():
id = request.vars.id
row = tb_A[id]
url = URL('default', 'download', args=[row.archivocsv], scheme=True,
host=True)
fd = urllib2.urlopen(url)
rows = csv.DictReader(fd, delimiter='|')
for row in rows:
qry = (tb_t2.id == row['id'])
tb_t2.update_or_insert(qry, f1=row['f1'], f2=row['f2'],
f3=row['f3'])
redirect(URL('index'))
####################
### CSV de Prueba####
####################
id|f1|f2|f3
1|a1|b1|c1
2|a2|b2|c2
3|a3|b3|c3
4|a4|b4|c4
5|a5|b5|c5
6|a6|b6|c6
7|a7|b7|c7
8|a8|b8|c8
9|a9|b9|c9
10|a10|b10|c10
11|a11|b11|c11
12|a12|b12|c12
13|a13|b13|c13
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150826/ebfb640c/attachment.html>
More information about the pyar
mailing list