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 :

je souhaite parvenir a remplir un tableur csv à partir d'une liste de dictionnaires


Sujet :

Python

  1. #21
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Ça fait plusieurs jours que je vous ai proposé une solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> for k, v in data.items():
    ...     print ([ k ] + v[0][:4])
    ...
    ['1QMF', 'guanidinium', '', 'ARG', '426']
    ['3A9E', 'guanidinium', '', 'ARG', '321']
    ['3U2V', 'guanidinium', ...
    Quand on vous suggère de prendre le temps de vous former avec un tuto, c'est pour vous permettre de lire/comprendre ce genre de bout de code.
    A défaut, difficile pour vous de "profiter" du temps passé à essayer de vous aider.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  2. #22
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    pardonne moi si je fais erreur ou fausse route mais relis bien ce que je souhaite atteindre , ce que tu m'a proposé comme solution , est certs correcte mais c'est pas ma finalité d'autant plus que j'ai ecris que j'ai reussis a obtenir une liste a partir du dio initiale,

    regarde bien ce que j'ai ecris , et si je pérciste a demander c'est que je n'ai pas trouver en cherchant ( je ne suis pas methodique ou tres organisée peut etre) , et pardonne moi si je me trompe , je m'adresse a des personnes qui ont fait ça toute leurs vie , ou par passion , alors que moi je fait non seulement mes débuts , je suis trés lente c'est certain , puis c'est un langage que je suis obligé d'utiliser en paralléle de plusieurs choses à coté , donc pardonne moi , de vouloir absollument progresser de la maniére qui me parait naturelle , en venant demander de l'aide quotidiennement

  3. #23
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    Salut,

    quelques remarques à propos de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for keyval in data.items() :
        print keyval
    1. tu peux récupérer la clé et la valeur dans 2 variables différentes plutôt que dans un tuple simplement en mettant tes 2 variables séparées par une virgule à la place de "keyval"
    2. tu peux utiliser iteritems() au lieu de items(). c'est du détail et tu ne verras pas la différence, mais c'est considéré comme une bonne pratique de l'utiliser partout ou il n'est pas indispensable d'utiliser items().


    ce qui donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for key, val in data.iteritems() :
        print key, val


    ce code va t'afficher le code de la molécule suivi de la liste des élement qui la compose (en fait je sais pas vraiment si ce sont les éléments qui la compose, si tu pouvais nous expliquer ça un peu plus en détail ça nous aiderait à communiquer) chacun sous forme d'une nouvelle liste.

    si j'ai bien compris, ce que tu veux c'est:
    1. faire de chaque élement une chaine de caractère contenant toute les infos se rapportant à cet élément. donc, transformer un un élément sous forme de liste en élément sous forme de chaine de caractères.
    2. afficher chacune de ces chaines à la suite l'une de l'autre et après le code de la molécule qu'elles composent.




    dans le bout de code ci-dessus, key est donc le code de la molécule et val est la liste de ses éléments.
    tu peux donc boucler sur la liste de ces élements pour accéder a chaque élément individuellement:
    chacun de ces élements est lui même une liste des infos qu'on a sur cet élément. tu as déjà fait une chaine de caractères à partir d'une liste avec la méthode join(), donc tu ne devrais avoir aucun mal à fabriquer une chaine à partir de elem.



    maintenant, comment afficher tout ça sur une seule ligne? je vois 2 solutions...
    1 -la solution qui va bien pour faire des tests rapides:
    pour le moment tu as toujours utilisé print de la même manière en lui donnant seulement une chaine à afficher. cela affiche la chaine et retourne à la ligne.
    maintenant si tu ne veut pas retourner à la ligne après l'affichage de ta chaine, tu peux mettre une virgule après ta chaine de caractères:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    print "une", # virgule en fin de print -> pas de retour a la ligne
    print "chaine", # virgule en fin de print -> pas de retour a la ligne
    print "quelconque" # pas de virgule -> retour a la ligne apres ce print
    print "retour a la ligne" # ce print s'affiche sur la ligne du dessous
     
    # resultat:
    # une chaine quelconque
    # retour a la ligne

    2 - la solution un peu plus propre:
    tu construis d'abord la chaine de caractère à afficher avec toutes ce qui doit être sur la ligne et tu affiches ta chaine à la fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    une_liste = ["une", "liste", "pleine", "de", "chaines"]
     
    chaine = "titre:"
    for element in une_liste:
        chaine += " {0}".format(element)
     
    print chaine
     
    # resultat:
    # titre: une liste pleine de chaines
    tu devrais avoir de quoi avancer un peu là.

  4. #24
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    Merci ...!!!!!!!!!! Tryph , avec tout ces elements , ca devrait etre au point
    mon defaut : ne jamais baisser les bras

  5. #25
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    mon defaut : ne jamais baisser les bras
    la persévérance est plutôt une qualité en fait.

    ton défaut c'est plutôt de t'entêter à ne pas faire ce tuto sur le site officiel de Python (www.python.org, on sait jamais) alors qu'on est au moins 3 à t'avoir dit que c'est par là qu'il faut commencer.

    ton problème n'est pas si compliqué que ça pour quelqu'un qui a les bases.

    après faut comprendre la relative rudesse de certaines réponses de certains intervenants: ils passent leur temps à voir passer des gens qui posent toujours les même questions et qui sont persuadés de savoir mieux qu'eux comment apprendre au plus vite à résoudre leur problème. à la longue ça saoule.

    tu as de la chance, ça fait que quelques jours que je fourni de l'aide sur ce forum, je suis pas encore trop gavé et je fais encore preuve de patience... ça risque de ne plus être le cas d'ici quelques jours/semaines.

  6. #26
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    oui je comprends parfaitement ,

  7. #27
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Le tuto qui est sur python.org est pour ceux qui savent programmer.

    Le swinnen est un bon tuto. pour les débutants en programmation. Lire les premiers chapitres vous aurait permis d'être plus autonome côté programmation que de vous abrutir a secouer votre machin dans tous les sens.

    Lisez le! Etudiez le! Pensez au temps passé par son auteur pour en faire un ouvrage agréable a lire et quelque peu efficace pour dépatouiller les premiers pas d'un débutant. Impossible d'espérer "accumuler" cette richesse via des échanges dans un forum: certains concepts doivent être présentés et assimilés avant d'autres, il faut avoir une certaine cohérence entre ce qu'on raconte dans un chapitre et les suivants,...

    Pour essayer de vous aider, il faut de la disponibilité, et de la motivation.
    • disponibilité: ce ne peut être que "ponctuel"
    • motivation: rabâcher le b.a.ba qui sont déjà dans les tutos lasse vite, on préférera passer du temps à expliquer des concepts plus "compliqués". Ce qui nous permet de les revoir et aussi de les assimiler: quand on code "on produit" souvent en "surfant"


    A vous de voir.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #28
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 31
    Points : 5
    Points
    5
    Par défaut
    je vois que ce que vous dites est trés juste
    je l'est en pdf et je m'en sert reelement
    merci

Discussions similaires

  1. [Python 3.X] Générer un fichier CSV à partir d'une liste
    Par blueice dans le forum Général Python
    Réponses: 1
    Dernier message: 20/04/2015, 15h38
  2. remplir des champs a partir d'une liste
    Par piotrowski-s dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/07/2012, 15h14
  3. Réponses: 3
    Dernier message: 14/07/2009, 15h10
  4. Réponses: 3
    Dernier message: 03/05/2009, 09h56
  5. Remplir un planning a partir d'une liste complexe
    Par deca2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/10/2008, 12h06

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