[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