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

Langage Perl Discussion :

Parser plusieurs fichiers d'un répertoire et stocker le resultat dans une BD MySQL


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Parser plusieurs fichiers d'un répertoire et stocker le resultat dans une BD MySQL
    Bonjour,

    Je suis nouveau sur le forum et aussi en Perl.
    Je suis confronter à un problème dont je n'arrive pas à résoudre.

    J'ai plusieurs fichiers textes se trouvant dans un répertoire "test"

    test/E-PAC78.txt
    test/E-FNP31.txt
    ...
    test/G-HTI04.txt

    Chaque fichier possède des centaines de lignes commençant par des mots qui ne changent pas mais qui peuvent se trouver sur les lignes différentes.

    J'aimerai récupérer 4 de ces lignes et stocker ces valeurs dans une base de données MySQL:

    Voici l'exemple de structure de chaque fichier texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Supervisor Name          Jim Connor
    Investigator Name         Janet Cerbo
    Experiment           Heavy brain pressure with chloride at 0hr, 3hr, 6hr and 9hr
    Patient Post Status         Live after 3hr        Dead after 6hr
    Version        1.1
    Observation        Addition experiments required
    ...
    J'aimerais récupérer les informations relatives aux lignes commençant par :

    Investigator Name
    Experiment
    Patient post Status

    et les stocker dans une table d'une BDD MySQL ayant comme noms de champs ces dernières

    J'a déjà parcouru le FAQ mais je n'arrive pas à comprendre comment m'y prendre.

    Merci et bien à vous

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Chaque fichier possède des centaines de lignes commençant par des mots qui ne changent pas mais qui peuvent se trouver sur les lignes différentes.

    J'aimerai récupérer 4 de ces lignes et stocker ces valeurs dans une base de données MySQL:
    Tu dois lire le fichier et récupérer les informations via des expressions régulières, cf FAQ du forum
    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
    my @files_array = glob ("C:/.../*.txt");
     
    foreach my $file (@files_array){
     
    	open my $file_fh, '<', $file or die $!;
     
            my ($var1, $var2, $var3, $var4);
     
    	while(my $line = <$file_fh>){
    		if ($line =~ m//){
    			$var1 = $1;
    		}
    		elsif ($line =~ m//){
    			$var2 = $1;			
    		}		
    	}
    	close $file_fh;
     
    	# insérer les données des variables dans la DB
    }
    Pour ce qui est d'insérer les informations récupérées dans ta base de données, tu peux utiliser le module DBI, voir cours du forum et CPAN
    -- Jasmine --

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Jasmine,

    Ca m'a beaucoup aidé.

    Bien à vous.

Discussions similaires

  1. [Google Maps] Stocker les adresses dans une base mysql
    Par roy2work dans le forum APIs Google
    Réponses: 1
    Dernier message: 17/12/2013, 13h05
  2. stocker un pdf dans une base mysql
    Par aboura86 dans le forum MySQL
    Réponses: 7
    Dernier message: 09/06/2008, 02h32
  3. Réponses: 1
    Dernier message: 05/03/2008, 21h41
  4. [XML][Java] parser plusieurs fichiers en un seul arbre DOM ?
    Par mrlenul dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/11/2005, 11h09
  5. Stocker du Php dans une base Mysql
    Par tibrus dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/09/2005, 22h03

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