Bonjour à vous tous
je sollicite à nouveau votre aide
ene ffet j'ai un petit soucis pour mettre en place 2 boucle for l'un apres l'autre.
Je pense plus a un soucis de logique que de language..
En gros j'ouvre 2 fichier csv
je lis le premier avec une boucle for
et pour lire le second j'ouvre tout de suite une deuxieme boucle
la il recherche une condition lié au 2 fichiers CSV ( en gros le secon fichier contient une bibliotheque et je recherche a savoir si dans le premier fichier on a ou non ce mot) et si c'est vrai alors j'indexe par le code de la bibliotheque le mot...
J'ai mis des print pour verifier mon erreur et en effet il entre bien dans la 2 deuxieme boucle for mais juste lors de la 1ere occurence ensuite pour la 2eme occuerence il oublie la deuxieme boucle for et termine normalement le programme...
Un grand merci
Cedric
Voici mon code
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 import csv from cinfony import rdk from rdkit import Chem myfile = open("C:\Data\etudecycle/poster/posteritem.csv","r") suppl = csv.reader(myfile) myfilev2 = open("C:\Data\etudecycle/poster/dictionnairecycle.csv","r") supplv2 = csv.reader(myfilev2) writer = Chem.SDWriter("C:\Data\etudecycle/poster/posteritem.sdf") i = 0 for a in suppl: m = Chem.MolFromSmiles(a[0]) for line in supplv2 : if line[0] == a[2]: m.SetProp("nbcycle",line[1]) print line[0] print a[2] myfile.close() print "CSV --> SDF : OK"
PS
Ces lignes font parties d'un add on utilisant Python dont le nom est RDKIT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 from cinfony import rdk from rdkit import Chem m = Chem.MolFromSmiles(a[0]) m.SetProp("nbcycle",line[1])
Partager