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

Requêtes MySQL Discussion :

Problème pour importer correctement des données à partir d'un fichier csv


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Problème pour importer correctement des données à partir d'un fichier csv
    Bonjour,
    Après avoir importer un fichier csv dans une table mysql, je constate que les champs numérique avec décimale deviennent des entiers:
    (ex 150,50 devient 150) de même que ( 3 0152,50 devient 3).
    Ceci malgré le bon formatage des champs dans la table mysql soit de type décimal (taille 15 précision 2).La méthode utilisé est un script sql :

    LOAD DATA LOCAL INFILE 'monfichier.csv' INTO TABLE matable FIELDS TERMINATED BY ';' ENCLOSED BY '"'ESCAPED BY '\\' LINES TERMINATED BY '\n';

    Merci d'avance pour votre aide.


    dx33000

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Le séparateur de décimales doit être le point.

  3. #3
    Expert éminent sénior
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 812
    Points : 34 084
    Points
    34 084
    Billets dans le blog
    14
    Par défaut
    Tu as donc deux solutions :
    1) Remplacer les virgules des nombres dans le fichier CSV par des points.
    Mais attention qu'il n'y ait pas d'autres braies virgules textuelles ailleurs dans le fichier !

    2) Importer les nombres à virgule dans une colonne provisoire de type VARCHAR puis convertir en DECIMAL.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Points : 10
    Points
    10
    Par défaut LA SOLUTION SOUS DELPHI RAD STUDIO 2007
    if FileExists('evry.csv') then memo1.Lines.LoadFromFile('evry.csv');
    memo1.Lines.Text:=StringReplace(memo1.Text, ',', '.', [rfReplaceAll]);
    memo1.Lines.Text:=StringReplace(memo1.Text, '1 ', '1', [rfReplaceAll]);
    memo1.Lines.SaveToFile('evry.txt');
    memo1.Clear;


    DX33000

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'ai le même problème que dx33000
    1) Remplacer les virgules des nombres dans le fichier CSV par des points.
    Est-il possible de le faire en php ? Sachant que 3 colonnes sur 10 sont concernées par ce problème...

    Merci pour votre aide


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer des données à partir d'un fichier excel fermé
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/06/2019, 11h54
  2. [XL-2007] Importer des données à partir d'un fichier excel
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/06/2011, 20h05
  3. Réponses: 2
    Dernier message: 16/09/2010, 15h44
  4. Réponses: 2
    Dernier message: 19/03/2008, 15h51
  5. Réponses: 8
    Dernier message: 22/08/2006, 13h51

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