1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut Importation fichier texte

    Bonjour a tous.

    J'ai un beau projet et j'ai besoin d'aide pour démarrer.

    J'ai un logiciel qui accumule les données de traitement de mon usine(traitement d'eau potable). Les données sont des fichier .dat propriétaire mais j'ai un utilitaire pour les convertir en .txt ce que j'ai fais. J'ai fais un petit programme en vba excel pour faire la conversion.

    J'ai donc environ 65000 fichiers .txt dont le format est le suivant.

    25/06/2012 00:00:01 0.000 1.000 0.000 0.000 0.000 1.241 1.400
    25/06/2012 00:00:06 0.000 1.000 0.000 0.000 0.000 1.241 1.400
    25/06/2012 00:00:11 0.000 1.000 0.000 0.000 0.000 1.241 1.400
    ...
    ...

    donc, 65000 fichier .txt d'environ 17000 lignes et entre 20 et 50 champs


    Je veux tout transférer dans mon serveur MySQL.

    -Je ne peut pas le faire manuellement car j'en ai 65000 a faire
    -Les fichiers non pas d'entête avec le nom des champs.
    -Je doit fusionner les 2 premiers champs (date et heure dans un champ DateAndTime)


    J'aimerais avoir vos opinions.
    -Avec quel logiciel
    -Quelle procedure
    -.....


    Merci à l'avance

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Il nous faudrait un exemple type de fichier (un extrait représentatif) que vous désirez charger dans votre table MySql.

    Est-ce que tous les fichiers ont la même structure ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Oui, les fichier on trous la même structure.

    Nom du fichier 01180101.txt = tdaammjj.txt(td=#de secteur de mon usine, aammjj = date)

    Donnée séparé de TAB avec entre 10 et 50 champs selaon la bd

    25/06/2012 00:00:01 0.000 1.000 0.000 0.000 0.000 1.241 1.400
    25/06/2012 00:00:06 0.000 1.000 0.000 0.000 0.000 1.241 1.400
    25/06/2012 00:00:11 0.000 1.000 0.000 0.000 0.000 1.241 1.400

    Je dois transférer chaque secteur dans des tables différentes.

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    (  `id`           integer unsigned not null auto_increment primary key,
       `dateandtime`  datetime         not null,
       `val1`         decimal(5,2)     not null,
       `val2`         decimal(5,2)     not null,
       `val3`         decimal(5,2)     not null,
       `val4`         decimal(5,2)     not null,
       `val5`         decimal(5,2)     not null,
       `val6`         decimal(5,2)     not null,
       `val7`         decimal(5,2)     not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    LOAD DATA LOCAL INFILE 'fichier.txt'
         INTO TABLE `test`
         CHARACTER SET latin1
         FIELDS TERMINATED            BY ' '
                OPTIONALLY ENCLOSED   BY '\"'
                ESCAPED               BY '\\'
         LINES  TERMINATED            BY '\r\n'
         IGNORE 0 LINES
         (@F1,@F2,`val1`,`val2`,`val3`,`val4`,`val5`,`val6`,`val7`)
         set `dateandtime` = str_to_date(concat(trim(@F1), ' ', trim(@F2)), '%d/%c/%Y %H:%i:%s')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+---------------------+------+------+------+------+------+------+------+
    | id | dateandtime         | val1 | val2 | val3 | val4 | val5 | val6 | val7 |
    +----+---------------------+------+------+------+------+------+------+------+
    |  1 | 2012-06-25 00:00:01 | 0.00 | 1.00 | 0.00 | 0.00 | 0.00 | 1.24 | 1.40 |
    |  2 | 2012-06-25 00:00:06 | 0.00 | 1.00 | 0.00 | 0.00 | 0.00 | 1.24 | 1.40 |
    |  3 | 2012-06-25 00:00:11 | 0.00 | 1.00 | 0.00 | 0.00 | 0.00 | 1.24 | 1.40 |
    +----+---------------------+------+------+------+------+------+------+------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    C'est en quoi ce script ? Requete MySQL ?

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    C'est un script mysql, que j'ai déclenché à partir d'un batch windows.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Merci. J'essaye çà a l'instant.

  8. #8
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Vous devez reprendre que la requête "load data local infile" dans votre script php.
    Vous devez faire varier le nom de votre fichier, ainsi que le nom de la table, en admettant que toutes vos tables ont la même structure.

    Ne pas oublier que vous ne pouvez pas le faire sur un fichier Excel, mais sur un fichier de type ".csv".

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Mes fichier sont dans le repertoire D:\Mysql\fichier.txt

    Est-ce que je dois déplacer mon fichier ou ecrit LOAD DATA LOCAL INFILE 'D:\Mysql\fichier.txt' ?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    J'ai répondu a ma question.

    Je ne l'avais pas écrit de la bonne façon.

    LOAD DATA LOCAL INFILE 'D:/Mysql/ichier.txt' et ça fonctionne avec un petit fichier démo. Je vais faire des testes demain au travail avec les vrais fichiers.

    Merci beaucoup.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Le tout fonctionne de façon manuel. Est-il possible de scaner tout mes fichiers du répertoire du genre FOR EACH FILE....

  12. #12
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 770
    Points : 41 475
    Points
    41 475
    Billets dans le blog
    1

    Par défaut

    Pour cela il faudrait un ETL, ce que MySQL ne propose pas en standard contrairement par exemple a SQL Server (SSIS).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Avez-vous un ETL à me proposer ? Quelque chose de gratuit, facile d'utilisation car je ne suis pas un pro.

  14. #14
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 770
    Points : 41 475
    Points
    41 475
    Billets dans le blog
    1

    Par défaut

    Talend, il existe une version gratuite limitée...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  15. #15
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Pourquoi ne pas le faire en php ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Je n'ai jamais travaillé en php. Avez-vous un ETL php a me proposer sous Windows?

  17. #17
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Vous n'avez pas précisé les points suivants :
    Dans quel système d'exploitation travaillez vous ? Debian ? Windows ? MacOs ?
    Et dans quel langage faites-vous vos traitements ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : juillet 2006
    Messages : 60
    Points : 32
    Points
    32

    Par défaut

    Je suis sons Windows et pour le langage, je suis limité mais j'aime bien aprendre.

    J'ai déjà utilisé vba, vbscript, windev

  19. #19
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    3 271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 3 271
    Points : 10 119
    Points
    10 119

    Par défaut

    Salut wonderboutin123.

    Désolé, mais je n'utilise pas ces langages.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Importer fichier texte dans base Access
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/08/2006, 20h21
  2. probleme avec un import fichier texte dans mysql
    Par xodeax dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/07/2006, 13h24
  3. import fichier texte dans table contrainte
    Par philippe281281 dans le forum Outils
    Réponses: 5
    Dernier message: 14/06/2006, 17h01
  4. pb importation fichier texte
    Par borisa dans le forum Access
    Réponses: 5
    Dernier message: 24/02/2006, 17h44
  5. Réponses: 2
    Dernier message: 02/02/2006, 18h21

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