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 :

import automatisé de fichiers csv dans MySQL


Sujet :

MySQL

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut import automatisé de fichiers csv dans MySQL
    Bonjour,

    avant de commencer le dev, je me suis dit que quelqu'un l'avait probablement déjà fait (mais je n'ai pas trouvé) : un script (Linux + MySQL) permettant de faire un "load in file" automatisé spécifique à une table et un fichier.
    Je précise :
    - le nom du fichier est celui de la table et la première ligne contient les noms des colonnes.
    - le script lit la structure de la table et permet de faire des "set" personnalisés en fonction du type de données. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PRENOM = if(@PRENOM = '', null, trim(@PRENOM)),
    DT_ENTREE = str_to_date(@DT_ENTREE, '%d/%m/%Y %H:%i')
    Quelqu'un sait où je peux trouver ça ?
    Christophe

    Pensez à mettre quand c'est le cas.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 87
    Points : 179
    Points
    179
    Par défaut
    Hum les set personnalisés en fonction du type de données je suis pas sur que ça puisse se faire.

    Par contre tu peux tout à fait mettre en forme ton fichier avant le chargement en base de données directement dans tes scripts avec des commandes sed ou awk.

    Cdlt,
    MvK
    Les questions ne sont pas obligées d'avoir du sens. Mais les réponses, si.
    Terry Pratchett (Procrastination)

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Effectivement, je n'avais pas pensé à le faire de cette façon. Il me faudra quand même un set pour obtenir NULL à la place d'une chaîne vide mais je pourrai avoir les dates au bon format.
    Par contre, si la table change, je vais devoir changer le script et ça, ça m'embête.

    Merci.
    Christophe

    Pensez à mettre quand c'est le cas.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/06/2011, 14h50
  2. [PHP 5.0] import fichier csv dans mysql avec phpadmin
    Par lylya dans le forum Langage
    Réponses: 5
    Dernier message: 17/05/2010, 10h21
  3. [MySQL] Importation d'un fichier csv dans mysql
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/12/2009, 20h55
  4. Import de fichier CSV dans Mysql
    Par xianxian620 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/05/2008, 10h06
  5. Réponses: 1
    Dernier message: 29/04/2008, 12h54

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