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