Vous n'êtes pas identifié(e).

#1 21/05/2018 14:32:46

big1
Membre

COPY de CSV

Bonjour ,
en 9.6
J'ai créé une table

Administrateur@cave=# CREATE TABLE list ( START_T varchar,MIN numeric,AVG numeric,MAX numeric,MEDIAN numeric,PCT_DUR numeric);
CREATE TABLE
Time: 737,962 ms

Voici mon fichier CSV:

START_T,       MIN,       AVG,       MAX,    MEDIAN,   PCT_DUR
2017/12,7,63,932,18,       
2017/12,41,41,41,41,0
2017/12,7,19,4491,11,2
2017/12,189,21501,70025,11391,14

Je veux copier ce fichier CSV

Administrateur@cave=# copy list from 'C:\pgfutter\list.csv' CSV HEADER FORCE NULL PCT_DUR;
ERROR:  invalid input syntax for type numeric: "       "
CONTEXT:  COPY list, line 2, column pct_dur: "       "
Time: 18,330 ms

Oui le champ PCT_DUR dans la ligne juste après les entêtes est vide (null). Y a-t-il une option ou une manière pour éviter l'erreur et pouvoir copier ?

D'avance merci.

Dernière modification par big1 (21/05/2018 14:34:22)

Hors ligne

#2 21/05/2018 17:03:49

gleu
Administrateur

Re : COPY de CSV

En dehors de modifier le fichier, non. Si vous voulez insérer une valeur NULL, il faut indiquer \N.


Guillaume.

Hors ligne

#3 22/05/2018 06:17:56

big1
Membre

Re : COPY de CSV

Bonjour Guillaume,
et merci pour la réponse.
J'ai modifié le CSV:

START_T,       MIN,       AVG,       MAX,    MEDIAN,   PCT_DUR
2017/12,7,63,932,18,\N      
2017/12,41,41,41,41,0
2017/12,7,19,4491,11,2
2017/12,189,21501,70025,11391,14
Administrateur@cave=# copy list from 'C:\pgfutter\list.csv' CSV HEADER FORCE NULL PCT_DUR;
ERROR:  invalid input syntax for type numeric: "\N      "
CONTEXT:  COPY list, line 2, column pct_dur: "\N      "

Administrateur@cave=# copy import.list_vsmon from 'C:\pgfutter\list_vsmon.csv' CSV HEADER ;
ERROR:  invalid input syntax for type numeric: "\N      "
CONTEXT:  COPY list_vsmon, line 2, column pct_dur: "\N      "
Time: 16,726 ms

Cordialement.

Dernière modification par big1 (22/05/2018 06:31:16)

Hors ligne

#4 22/05/2018 10:49:37

gleu
Administrateur

Re : COPY de CSV

Il y a quelque chose après le \N comme le montre le message d'erreur.


Guillaume.

Hors ligne

#5 22/05/2018 17:10:07

dverite
Membre

Re : COPY de CSV

En CSV c'est pas \N le null par défaut, c'est chaine vide.
Mais vide ça ne veut pas dire une suite d'espaces, ça veut dire zéro caractère.
Ce qu'il faut faire à ce fichier CSV c'est l'élimination des espaces à droite de chaque ligne.

Hors ligne

Pied de page des forums