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

Python Discussion :

Parseur de distance


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut Parseur de distance
    Bonjour,
    j'ai un fichier qui contient un couple CV-*** Aster-*** et des distances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    C169v2-04488	Aster-06787	68.42	76	24	0	187	262	561	636	8e-30	 125
    C169v2-04488	Aster-02687	28.35	127	81	4	38	154	301	427	0.024	34.3
    C169v2-04487	Aster-06725	28.38	148	96	4	92	235	216	357	8e-08	52.4
    C169v2-04487	Aster-00105	38.30	47	29	0	36	82	731	777	0.25	30.8
    C169v2-04487	Aster-06545	22.54	142	94	3	23	151	507	645	0.55	29.6
    C169v2-04487	Aster-05903	31.91	47	29	1	97	143	283	326	1.6	28.1
    C169v2-04480	Aster-06724	60.66	61	24	0	371	431	4	64	3e-14	74.7
    C169v2-04480	Aster-02153	23.93	305	183	9	34	319	71	345	3e-05	44.7
    C169v2-04480	Aster-06101	25.00	248	161	8	14	254	1926	2155	0.001	39.3
    C169v2-04480	Aster-06101	23.48	132	83	3	117	230	438	569	3.3	28.1
    C169v2-04480	Aster-01563	26.90	145	93	3	117	261	586	717	0.007	37.0
    C169v2-04480	Aster-03475	23.97	292	202	8	45	330	549	826	0.012	36.2
    C169v2-04480	Aster-01708	22.73	286	166	8	60	306	214	483	0.021	35.4
    Et j'ai un autre fichier contenant le couple CV-*** Aster-***:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    C169v2-04488	Aster-06787
    C169v2-04487	Aster-06725
    C169v2-04480	Aster-06724
    Je dois a partir du deuxieme fichier "test.txt" aller recuperer les distances respectifs des couples,car comme vous pouvez le voir je ne peux pas regarder que CV-*** car il y a des CV-** qui reviennent souvent donc je dois me baser au couple CV-*** Aster-***, exemple:
    C169v2-04488 Aster-06787 distance 187 262 561 636
    C169v2-04487 Aster-06725 92 235 216 357
    C169v2-04480 Aster-06724 371 431 4 64

    Voici mon code mais j'ai un souci car j'arrive pas a lui dire qu'il faut la cle CV-*** Aster-**** puis recuperer dans le deuxieme fichier les distances:

    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
     
    #! /usr/bin/python
     
     
    #coding=utf-8
    d1,d2={},{}
    with open('test.txt') as fichier:# ouverture du fichier coco_aster, lecture de chaque ligne et comparaison des doublons....
      	   for line in fichier:
         		  cv, aster = line.split('\t')[:2]
    		  d1[aster] = cv
     
    with open('coco_aster.txt') as fic:
    	for line in fic:
    		ok=line.split('\t')[1:2]
     
     
    print d1.keys()

    Merci , si vous avez une idee de comment faire car la je suis perdu

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Bonjour,
    j'ai modifie un tout petit peu mon code mais j'arrive pas a aller chercher la correspondance des Aster, et mettre la bonne distance:

    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
     
    #! /usr/bin/python
     
     
    #coding=utf-8
    d1,d2,d3={},{},{}
    with open('test.txt') as fichier:
    		  for line in fichier:	
         		 	 cv, aster = line.split('\t')[:2]
    		  	 d1[cv] = aster
     
     
     
    with open('coco_aster.txt') as fic:
    	for line in fic:
    		cv1=line.split('\t')[0:1]
    		psositon=line.split('\t')[6:10]
    		for i in d1.keys():
    			if cv1 ==i:
    				print i

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 31
    Par défaut
    Bonjour.

    Si j'ai bien tout compris, tu cherches à obtenir les valurs des 4 colonnes qui t'intéressent pour chaque couple (CV-Aster).

    Je te propose :
    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
     
    #! /usr/bin/python
     
    # Obtention des couples (CV-Aster) du fichier test
    result = {}
    fichier = open('test.txt')
    for line in fichier:
    	line = line.replace('\n','')
    	cv, aster = line.split('\t')[:2]
    	result[cv,aster]=[]
     
    # Obtention des valeurs pour les couples recherches
    fic = open('coco_aster.txt')
    for line in fic:
    	line = line.replace('\n','')
    	data = line.split('\t')
    	key = (data[0],data[1])
    	if key in result.keys():
    		result[key] = [float(data) for data in data[6:10]]
     
    # Affichage des resultats
    for key,value in result.items():
    	print key,':',value
    Et le résultat obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ('C169v2-04480', 'Aster-06724') : [371.0, 431.0, 4.0, 64.0]
    ('C169v2-04487', 'Aster-06725') : [92.0, 235.0, 216.0, 357.0]
    ('C169v2-04488', 'Aster-06787') : [187.0, 262.0, 561.0, 636.0]
    Est-ce ce que tu cherchais ?
    Bonne journée !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Oui, merci
    mais je voulais savoir je voulais qu'il n y est pas les () et les , dans quelle partie je dois changer.

    Merci

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

Discussions similaires

  1. executer une application a distance : Sockets ? RPC ? CORBA?
    Par a_hic dans le forum Développement
    Réponses: 5
    Dernier message: 30/05/2006, 13h02
  2. Accès à la base de registre windows à distance
    Par xavame dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/07/2005, 15h23
  3. [SYSTEME] Relance service a distance
    Par NoisetteProd dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 24/02/2003, 08h26
  4. Réponses: 3
    Dernier message: 04/09/2002, 09h42
  5. Réponses: 2
    Dernier message: 06/07/2002, 12h36

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