IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Importer des données .CSV


Sujet :

MySQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Importer des données .CSV
    Bonjour à tous,
    Je débute en mySQL et rencontre quelques problèmes. J'ai installé mySQL server 5.1 sous windows et utilise mySQL command line Client.

    Je dois importer dans une table, les données d'un fichier .csv qui se situe dans l'un des répertoires de mon ordinateur. Pour importer les données j'ai utilisé la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD DATA INFILE 'chemin\nomdefichier' INTO TABLE nomtable FIELDS TERMINATED BY ';' (nomcolonne1,nomcolonne2, nomcollone3);
    En tapant cette commande l'erreur suivante apparait:
    ERROR 29 (HY000): File 'chemin\nomdefichier' not found (Errcode:2)
    Quelqu'un a t il une idée de la manière dont je dois procéder pour importer des données de mon PC dans une des tables de la base de données?

    Merci pour votre aide

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par nini03 Voir le message
    sous windows
    L'anti-slash, qui est le séparateur de répertoire sous Windows, a une signification en SQL. Il faut le doubler pour spécifier un chemin correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD DATA INFILE 'chemin\\nomdefichier' INTO TABLE nomtable FIELDS TERMINATED BY ';' (nomcolonne1,nomcolonne2, nomcollone3);
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD DATA INFILE 'chemin\\nomdefichier' INTO TABLE nomtable FIELDS TERMINATED BY ';' (nomcolonne1,nomcolonne2, nomcollone3);
    Bonjour à tous,

    je suis, dans mon pénible apprentissage, aussi sur cette fonction d'import.
    J'aurais aimé, définir le chemin d'accès à mon fichier dans une variable mais mes essais restent sans succès :-(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SET @monchemin="chemin\\nomdefichier";
    LOAD DATA INFILE @monchemin INTO TABLE nomtable FIELDS TERMINATED BY ';' (nomcolonne1,nomcolonne2, nomcollone3);
    Quelqu'un peut me faire avancer là dessus ? ;-)

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Quel résultat donne ta dernière requête ?
    Message d'erreur ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Quel résultat donne ta dernière requête ?
    Message d'erreur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql> LOAD DATA INFILE 'importtest4.csv' INTO TABLE Bazar FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r' (Code3,Nbr);
    ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mysql> SET @chemin='importtest4.csv';
        -> LOAD DATA INFILE @chemin INTO TABLE Bazar FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r' (Code3,Nbr);
    l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@chemin I

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je me permet de parler de mon problème sur ce sujet, car j'ai sensiblement le même.

    Sous linux, j'ai un fichier plop.csv dans le ~/ (/home/utilisateur/). En faisant la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LOAD DATA INFILE '/home/utilisateur/plop.csv' 
    INTO TABLE Famille FIELDS 
    TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"';
    j'ai toujours la même erreur : ERROR 29 (HY000): File '/home/utilisateur/plop.csv' not found (Errcode: 13)

    Avec la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOAD DATA INFILE 'plop.csv' [...];
    J'ai l'erreur suivante : ERROR 29 (HY000): File '/var/lib/mysql/test/plop.csv' not found (Errcode: 13)
    Ce qui est normal vu qu'il n'est pas à cet endroit là.

    Enfin, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOAD DATA INFILE '~/plop.csv' [...];
    MySql me répond ça : ERROR 13 (HY000): Can't get stat of '/etc/mysql/plop.csv' (Errcode:2)
    Là, je ne vois pas pourquoi il essaye d'aller le chercher dans /etc/mysql, et je ne comprends pas l'erreur non plus (Can't get stat of).

    Le fichier plop.csv existe bien dans mon homedir, j'ai également testé en le renommant, ou avec un autre fichier, l'erreur est toujours la même.

    Pour info, j'utilise Ubuntu 10.10, j'ai créé le fichier avec gedit (codage UTF-8, fin de ligne Unix/Linux) et ma version de MySql (avec SHOW VARIABLES LIKE "%version%" est :
    protocol_version 10
    version 5.1.49-1ubuntu8.1
    version_comment (Ubuntu)
    version_compil_machine i686
    version_compile_os debian_linux_gnu

    Merci de vos réponses

  7. #7
    Candidat au Club
    Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1
    Points : 4
    Points
    4
    Par défaut
    Pour ceux qui rencontreraient encore le problème
    ERROR 13 (HY000): Can't get stat of
    Il s'agit d'un problème d'accès au fichier.

    Pour le résoudre il faut ajouter LOCAL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOAD DATA LOCAL INFILE '/mon-chemin/mon-fichier'...

Discussions similaires

  1. [Python 3.X] Importer des données .csv pour du traitement de signal sous Python
    Par SleepProgramRepeat dans le forum Général Python
    Réponses: 4
    Dernier message: 21/01/2015, 17h52
  2. Réponses: 5
    Dernier message: 29/06/2009, 17h18
  3. [MySQL] importer des données .csv dans BDD MySql
    Par priscillia dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2007, 09h40
  4. Importation des données d'un *.csv
    Par Baya44 dans le forum Access
    Réponses: 8
    Dernier message: 05/03/2007, 09h33
  5. Importer des données format CSV dans BBD MySQL
    Par Taz_8626 dans le forum Administration
    Réponses: 1
    Dernier message: 04/04/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo