From: | Martín Marqués <martin(dot)marques(at)gmail(dot)com> |
---|---|
To: | Kernel <jucabapa(at)gmail(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: como cambiar el separador decimal en una sentencia copy ? |
Date: | 2013-09-18 00:38:48 |
Message-ID: | 5238F618.3060705@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 06/09/13 14:09, Kernel escribió:
> Hola,
> estoy intentando cargas datos de un fichero csv, el cual utiliza como
> separador decimal la coma ,
> ¿ hay alguna manera de preparar la session actual o introducir algo en
> la sentencia para que lo interprete bien?
>
>
>
> Estoy utilizando :
> copy prueba from '/u/DATOS.CSV'
> WITH DELIMITER ','
> CSV HEADER
> ENCODING 'LATIN9'
>
> Datos :
>
>
> "0,00","7.184,32","","","576,00","806,39"
Porque no arreglas el archivo CSV con script?
Esto me salio en un rato de ocio, no es bonito, pero es efectivo. ;)
def swapDotComa(line):
""" Search for a coma inside doble quoted words and change it to dot.
this may be used to change LATIN , used in decimal for . used in
American notation."""
# We start outside a doble quote
quoted = False
line = list(line)
for i in range(len(line)-1):
if line[i]== '"':
quoted = not quoted
elif quoted and line[i]==',':
line[i] = '.'
elif quoted and line[i]=='.':
line[i] = ','
return ''.join(line)
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto Andrade Fonseca | 2013-09-18 22:39:24 | 1a Reunión de Usuarios de Linux y PostgreSQL en el Bajío. México. |
Previous Message | Alvaro Herrera | 2013-09-17 20:25:55 | Re: Funcionamiento Vacuum |