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:
Parametros Necesarios para la FunciĆ³n
- CSV: Archivo de Excel en formato csv con la informaciĆ³n de la tabla.
- Tabla: Nombre de la tabla a la cual sera volcada la informaciĆ³n del archivo.
- Separador: Simbolo separador de la inforamciĆ³n del CSV ( , por ejemplo)
- 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.- Para instanciar el cursor utilizamos "self.env.cr" y para crear una tabla "self.env.cr.execute"
- AƱadir la Ruta del CSV
- Crear la estructura en un arreglo tipo lista con las columnas del CSV.
- Volcar el CSV utilizando la funciĆ³n "self.env.cr.copy_from"
- 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() |