Guardado de archivos y funciones

From: Jorge Tornero - Listas <jtorlistas(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Guardado de archivos y funciones
Date: 2013-09-27 12:26:18
Message-ID: 5245796A.4090004@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos,

Una de las "latas" que tengo que sufrir a diario es exportar datos desde
mis bases de datos y luego importarlos en excel/libreoffice. Esto no es
demasiado problemático pues la exportación de csv es muy transparente.
Pero he querido dar un paso más allá y hacerme algo que exporte
directamente a excel.

De manera que me he cogido mis conocimientos de python y me he liado con
plpythonu para crear la siguiente función:

DROP FUNCTION IF EXISTS exportax(varchar,varchar);
CREATE FUNCTION exportax(tabla varchar,filename varchar) RETURNS void
AS
$BODY$
import pandas as pd
import os

queryText=('select * from %s' %args[0])
ejecucion = plpy.execute(queryText)
tabla=[]

for fil in ejecucion:
tabla+=[fil]

df=pd.DataFrame(tabla)
df.to_excel(filename,index=False,encoding='utf8')
os.chmod(filename,0o666)

plpy.notice('Se grabaron %s filas en el archivo %s'
%(ejecucion.nrows(),filename))
$BODY$
LANGUAGE plpythonu;

Ahora bien, observaréis el comand os.chmod casi al final del script. Eso
lo hago (¿es una trampa?) para que luego el archivo resultante pueda ser
leído por cualquier usuario (pasa igual que con los problemas de
permisos del comando COPY del servidor), ahora bien... *lo que no
consigo es guardar el archivo en una carpeta cualquiera, pues da
problemas de permisos. ¿Alguna idea para resolver esto?* (aparte de
crear una carpeta en /home y darle permisos de escritura al usuario
postgres)

Otra cosa pendiente es que el orden de los campos se pierde... pero como
primera aproximación no está mal...

Un saludo

Jorge Tornero

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo 2013-09-27 13:04:42 Re: [pgsql-es-ayuda] buenas practicas de programación
Previous Message jvenegasperu . 2013-09-27 01:02:56 Re: Auxilio Ejecuto consulta y el servicio se apaga adjunto detalle