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 ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a