PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 24/04/2020 11:51:35

oles67
Membre

PG9.6 : Copy Import CSV ERREUR: données manquantes pour la colonne

Bonjour,

j'ai un gros fichiers CSV que je dois importer régulièrement à chaque fois qu'il est modifié.

Ce fichier est généré par un logiciel que je ne maitrise pas. L’éditeur n'est pas pressé car c'est un défaut mineur (il le fera lors de la prochaine grosse mise à jour du logiciel)

Ce programme ajoute des colonnes aux fils des versions, mais les lignes existantes ne sont pas mise à jour sur le nombre de tabulation. Seules les nouvelles lignes sont completes jusqu'à l'ajout de nouvelles colonnes par le logiciel.
En attendant j'aimerai savoir comment contourner le problème.

Exemple fichier CSV (colonne texte et numérique) dans une table avec 4 colonnes datatype TEXT :  ("|" est en faite une tabulation)
ColonneA|colonneB|ColonneC|ColonneD
A1|B1|C1
A2|B2
A3|B3|C3|C4

Avec cet exemple COPY n'est pas content en ligne 1 et 2.
Compliqué de prétraité le CSV en ajoutant les tabulations manquantes car risque de corruptions du format des valeurs numérique et des quotes s'il y en a.



Y a t-il une méthode pour contourner ou bien une alternative pgsql ?

Merci de votre aide.
Cordialement.

Dernière modification par oles67 (24/04/2020 11:58:16)

Hors ligne

#2 25/04/2020 06:06:22

rjuju
Administrateur

Re : PG9.6 : Copy Import CSV ERREUR: données manquantes pour la colonne

Il n'y a pas d'alternative côté postgres tout simplement car le fichier est question n'est pas un fichier CSV valide.  Vous devriez pouvoir trouver un ETL capable d'ignorer les lignes invalides si c'est le compromis que vous cherche.

Hors ligne

#3 28/04/2020 17:14:20

oles67
Membre

Re : PG9.6 : Copy Import CSV ERREUR: données manquantes pour la colonne

rjuju a écrit :

Il n'y a pas d'alternative côté postgres tout simplement car le fichier est question n'est pas un fichier CSV valide.  Vous devriez pouvoir trouver un ETL capable d'ignorer les lignes invalides si c'est le compromis que vous cherche.

Bonjour,

finalement j'ai traité ça en amont avec powershell et copy ne pose plus de problème.

Merci

Hors ligne

Pied de page des forums