Publicidad

miƩrcoles, 29 de enero de 2020

Funcion copy_from para Importar Tablas desde Archivos Excel (CSV)

Importar Archivos CSV desde Funciones Python en Odoo



Lo primero es conocer la funciĆ³n llamada copy_from la cual forma parte del cursor que podemos instanciar por medio de la linea:

self.env.cr.copy_from


Parametros Necesarios para la FunciĆ³n

  1. CSV: Archivo de Excel en formato csv con la informaciĆ³n de la tabla.
  2. Tabla: Nombre de la tabla a la cual sera volcada la informaciĆ³n del archivo.
  3. Separador: Simbolo separador de la inforamciĆ³n del CSV ( , por ejemplo)
  4. Columnas: Columnas separadas por el simbolo del Archivo.


EjecuciĆ³n del Metodo

Lo primero es instanciar el cursor, el cual se encuentra dentro del entorno o contexto general de la API de Odoo.

  1. Para instanciar el cursor utilizamos "self.env.cr" y para crear una tabla "self.env.cr.execute"
  2. AƱadir la Ruta del CSV
  3. Crear la estructura en un arreglo tipo lista con las columnas del CSV.
  4. Volcar el CSV utilizando la funciĆ³n  "self.env.cr.copy_from"
  5. Cerrar el Archivo CSV.

self.env.cr.execute(""" CREATE TABLE IF NOT EXISTS odooacademy(
fecha_nacimiento date, edad integer,
nombre_curso text,
nombre_completo text)""")
self.env.cr.commit()
csv_file= open(filepath,"r")
columns=['fecha_nacimiento','edad','nombre_curso','nombre_completo']
self.env.cr.copy_from(csv_file, 'odooacademy', sep=',', columns=columns)
self.env.cr.commit()
csv_file.close()
Gracias por visitar mi Blog. ;-)

0 comentarios:

Publicar un comentario