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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut Séparer des données selon \t et les placer dans des listes ou dictionnaires différents nommés absisses ou ordo
    Bonjour, j'ai un problème sur mon programme python quelqu'un pourrais il m'aiguiller?
    Mon programme est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # Lecture du fichier, prise des données et pises en forme de liste
    file=open('cinetique123.txt', "r")
    lines=file.readlines()
    file.close()
    print(lines)
    J'obtiens donc une liste comme suit ['0\t0.00549390\n', '2\t0.00548760\n', '4\t0.00548304\n', '6\t0.00547781\n', '8\t0.00547310\n', '10\t0.00546792\n', '12\t0.00546399\n',
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # permet de supprimer /n
    with open("cinetique123.txt", "r") as fd:
        lines = fd.read().splitlines()
    print(lines)
    ici j'obtiens ça ['0\t0.00549390', '2\t0.00548760', '4\t0.00548304', '6\t0.00547781', '8\t0.00547310', '10\t0.00546792', '12\t0.00546399', '14\t0.00545799', '16\t0.00545389', '18\t0.00544702'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #Séparation des données autour de \t
     
    absisses = []
    ordonnees = []
    for line in lines:
        print(line[1].split("\t"))
        absisses.append(line[1].split("\t"))
        ordonnees.append(line[2])
    print(absisses)
    print(ordonnees)
    Malheureusement ce code me fournit n'importe de quoi et je ne comprends pas d'où viens mon erreur...
    Merci d'avance pour vos conseils

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Le split est à fait sur line et non line[1]

    La fonction split modifie la variable sur laquelle elle est appelée, il ne faut donc pas le faire deux fois (ton print, puis la ligne du dessous...).

    A mon avis tu as oublié qu'un tableau commence à l'index 0 et non 1, tes index du tableau line sont donc 0 et 1 au lieu de 1 et 2.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    absisses = []
    ordonnees = []
    for line in lines:
        print(line.split("\t"))
        absisses = (line[0])
        ordonnees = (line[1])
    print(absisses)
    print(ordonnees)
    C'est niquel j'ai réussi à séparer les données avec for line in lines: print(line.split("\t")) et j'obtiens des listes comme suit ['temps','concentration'] Cependant maintenant je n'arrive pas à definir les absisses ou les ordonnées

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    J'ai réussi à trouver !! Merci pour votre aide

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Sinon avec la librairie numpy, en 1 ligne c'est fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import numpy as np
     
    absisses, ordonnees = np.loadtxt("cinetique123.txt").T

  6. #6
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    @lg_53 > Pourquoi charger une librairie qui fait de l'ordre de 30mio alors qu'on peut le faire avec quelques lignes de la librairie de base du langage ?
    Si on n'utilise pas la librairie numpy pour autre chose c'est un peu utiliser un bazooka pour pouvoir dire "j'écris peu de code".

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/04/2011, 09h44
  2. [MySQL] Récupérer des données mysql et les placer dans un tableau.
    Par argon dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/05/2009, 09h00
  3. [MySQL] Récupérer des données de MySQL et les envoyer dans un PDF
    Par cdevl32 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 16/03/2009, 20h53
  4. récupérer des informations d'une feuille et les placer dans une autre
    Par winclass dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2008, 21h34
  5. Réponses: 2
    Dernier message: 21/05/2006, 14h02

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