Olá a todos!

Estou tentando importar alguns arquivos .csv para o PostgreSQL usando o 
comando COPY, contudo não estou tendo sucesso em arquivos que tenham a 
separação decimal marcada por vírgula [,]. Existe alguma condição do 
comando COPY que seja possível informar que as casas decimais são 
separadas por vírgula [,] e não por ponto [.].

Considerando que utilizo o Ubuntu 11.10, PostgreSQL 9 e pgAdmin III.
Segue exemplo, para um pequeno conjunto de dados:

/usr/share/p3.csv

v101;v10;v3
11001901;21;1
11001901; ;2
11001901;11;1
11001901;1;9,8

utilizei os comandos

CREATE TABLE p3
(
   col1 numeric,
   col2 numeric,
   col3 numeric
)

COPY p3 FROM '/usr/share/p3.csv' WITH DELIMITER ';' CSV HEADER NULL ' '

O comando COPY vai dar erro, que é solucionado se substituir a virgula 
do último número [9,8] por [9.9]. Contudo não posso fazer isso em todos 
os arquivos .csv, pois, alguns de 3.7 GB.

Vale considerar que não sou da área de computação, logo, implementar 
algum código para substituir as virgulas por ponto nos arquivos .csv 
seria uma alternativa talvez complicada, visto que a única linguagem de 
programação que conhece é R, que não lê esse arquivo de 3.7 GB em minha 
máquina.

Atenciosamente
Roney
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a