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 01/06/2018 13:17:04

databaser
Membre

données supplémentaires après la dernière colonne att

Bonjour,

J'ai un souci avec le fameux "ERROR:  ERREUR:  données supplémentaires après la dernière colonne attendue"
Mon CREATE TABLE recense toutes les colonnes de la table à importer.
La fin du Copy From est bien de type : with delimiter ';' NULL as '' CSV header ;
Le CSV à charger est correct.
Donc, svp, quel pourrait être le problème ?
Merci,

Hors ligne

#2 01/06/2018 14:23:39

ruizsebastien
Membre

Re : données supplémentaires après la dernière colonne att

Bonjour,

A tous les coups il y a un ";" dans les données d'une colonne de votre fichier csv ce qui provoque le décalage et donc le fait qu'il y ai une colonne en trop.
A vérifier.


Cordialement,

Sébastien.

Hors ligne

#3 01/06/2018 14:28:21

databaser
Membre

Re : données supplémentaires après la dernière colonne att

merci ruizsebastien je viens de vérifier, aucun ; smile Il y a des ' mais ce ne doit pas poser problème...

Hors ligne

#4 01/06/2018 15:07:47

jmarsac
Membre

Re : données supplémentaires après la dernière colonne att

Un ';' en fin de ligne dans le csv ?

Dernière modification par jmarsac (01/06/2018 15:18:47)

Hors ligne

#5 01/06/2018 16:15:29

databaser
Membre

Re : données supplémentaires après la dernière colonne att

oui. Toutes les colonnes sont ainsi : ="contenu cellule"; (je vois cela qd j'ouvre dans le bloc-notes) Donc la dernière colonne est de cette forme. En quoi est-ce que le ";" de la fin de ligne est gênant ? Que faire ? Merci smile

Hors ligne

#6 01/06/2018 16:19:52

gleu
Administrateur

Re : données supplémentaires après la dernière colonne att

Il doit y avoir X point virgules significatifs, X correspondant au nombre de colonnes moins 1 (ie, 5 colonnes --> 4 points virgules). Dans le cas contraire, vous avez l'erreur indiqué en début de thread.


Guillaume.

Hors ligne

#7 01/06/2018 17:19:48

databaser
Membre

Re : données supplémentaires après la dernière colonne att

j'ai un nombre de ";" égal au nombre de colonnes, donc il faut enlever le dernier ";", c'est bien cela ?
Le souci c'est que j'ai trop de lignes et de colonnes pour faire ça manuellement. Une idée ? Faut-il passer par du codage sous Python ou R ? Merci...

Dernière modification par databaser (01/06/2018 17:22:55)

Hors ligne

#8 01/06/2018 17:25:36

ruizsebastien
Membre

Re : données supplémentaires après la dernière colonne att

normalement :
sed 's/;*$//g' [votre fichier] > [un autre fichier]


Cordialement,

Sébastien.

Hors ligne

#9 01/06/2018 17:29:10

jmarsac
Membre

Re : données supplémentaires après la dernière colonne att

Oui.
Pour supprimer le dernier ';' :
Sous linux ou unix avec "vi":
:1,$s/\;$//

Sous Windows (avec notepad++ou tout éditeur supportant les expressions rationnelles) :
Recherche > Remplacer...
Recherche: \;$
Remplacer par : <vide>
Cocher la case "Expression regulière" puis cliquer sur  "Remplacer tout"

Dernière modification par jmarsac (01/06/2018 17:29:31)

Hors ligne

#10 01/06/2018 21:05:42

databaser
Membre

Re : données supplémentaires après la dernière colonne att

Après suppression du ";", même résultat : "ERROR:  ERREUR:  données supplémentaires après la dernière colonne attendue"
Je ne sais pas si c'est utile de préciser la suite de l'erreur : "CONTEXT:  COPY fin, ligne 2 : «..."

Hors ligne

#11 01/06/2018 23:07:01

gleu
Administrateur

Re : données supplémentaires après la dernière colonne att

La suite de l'erreur indique juste que le problème se trouve sur la deuxième ligne. Sans plus d'infos, difficile d'aller plus loin.


Guillaume.

Hors ligne

#12 04/06/2018 10:37:50

databaser
Membre

Re : données supplémentaires après la dernière colonne att

Rq : Une cellule vide est mentionnée par ;=""; dans le CSV ouvert ds Notepad++. Or il apparaît que parfois, elle est mentionnée par ;; sans rien d'autre. Est-ce que cela influence le téléchargement ? Non à priori un autre fichier avec le même souci a été correctement COPY FROM.
A quoi cela est-ce dû ? Un problème d'enregistrement ? Une colonne qui aurait contenu des données que l'on aurait supprimées ? Pb de jointure je pense.

Autre rq : Notepad++ indique 2048 lignes (2047 car la dernière est entièrement vide) alors que PGS (dans une autre version du fichier, avec moins de colonnes) compte 2042 lignes (2043 avec la lignes des noms de colonnes). Pourquoi cette différence de 4 lignes ?
Merci! smile

Dernière modification par databaser (04/06/2018 13:36:15)

Hors ligne

#13 04/06/2018 10:49:48

jmarsac
Membre

Re : données supplémentaires après la dernière colonne att

Bonjour,

Pouvez-vous fournir au moins un extrait du csv. Comme l'a déjà dit Guillaume, difficile de raisonner dans le vide.

Hors ligne

#14 17/06/2018 15:15:35

databaser
Membre

Re : données supplémentaires après la dernière colonne att

Pour la partie de la question sur les données supplémentaires, j'avais oublié des variables dans mon code et après rectification, il fonctionne sad
Inattention due au nombre de variables...
Merci à tous!

Dernière modification par databaser (17/06/2018 15:25:41)

Hors ligne

Pied de page des forums