forum pédagogique programmation systèmes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Aller en bas
avatar
Admin
Admin
Messages : 112
Date d'inscription : 16/11/2018
https://progsys.forumactif.com

[A19] Fichier CSV vers SQL Empty [A19] Fichier CSV vers SQL

Lun 29 Aoû - 16:27
Est-ce que quelqu'un peut me dire ça méthode pour importé son tableau CSV dans SQL.

J'ai trouvé ces lignes de commande:
LOAD DATA INFILE ‘Atelier11.csv’
INTO TABLE tbl_prof
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(id, Nom, Prenom, Coordinateur, Service, Local, PosteTel, Casier, Courriel);


Il suffit ensuite de mettre le fichier CSV dans le même répertoire que la database et le tour et joué, mais j'ai cette erreur qui apparaît:
[A19] Fichier CSV vers SQL Captur10

Voici mon tableau CSV:
[A19] Fichier CSV vers SQL Captur11

Ma configuration tu tableau dans SQL:
[A19] Fichier CSV vers SQL Captur12

[Nicolas Roy]

Je crois que ton erreur vient de la ligne FIELD TERMINATED ','
Je crois que c'est un ; et non pas une ,
Tu as pris ton exemple sur le site du prof ? Moi oui et j'ai réussi à le faire fonctionner. Sinon essaie d'enlever le paramètre id, à cause de la primary key et autre patente.

[Maxime]

J'ai trouvé.
C'était la conversion de mon fichier excel en csv qui ne fonctionnait pas, mais maintenant c'est la convertion UTF-8 qui ne fait pas.

[Nicolas Roy]

Bonjour lorsque je transfère mon fichier excel vers mariaDb les case vide sont transformé en 0 au lieux d'être transformé en Null. Est-ce que quelqu'un aurait une solution ou une piste de solution pour régler se problème? Merci.

[Marc-Olivier]

Marc-Olivier
J'ai trouvé la solution a ta question tu peux le mélange de SET et NULLIF pour modifier les cases vides pourt des nulls.

Voici le code que j'ai fait pour tester la solution:

LOAD DATA INFILE 'C:/test/pays.csv'
INTO TABLE caracpays
COLUMNS TERMINATED BY ';'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id,pays,nbHab,Capitale,@vdensitePop,@vPIB,dejaVisite,Commentaire)
SET
PIB = NULLIF(@vPIB,''),
densitePop = NULLIF(@vdensitePop,'')
;

[Miguel Plante]

Merci Miguel Very Happy ,mais j'ai trouvé une autre solution :
LOAD DATA LOCAL INFILE 'C:/MySQL/pays.csv'
INTO TABLE caracpays
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id,Nom,NbHab,Capitale,@DensitePop,@PIB,dejaVisite,Commentaires)
SET DensitePop = IF(@DensitePop = '', NULL, @DensitePop),
PIB = IF(@PIB = '', NULL, @PIB);

[Marc-Olivier]
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum