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 :

Manipuler Donnée Fichier txt


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut Manipuler Donnée Fichier txt
    Bonjour à tous,
    Voila je viens vers vous, car j'ai un petit soucis de manipulation d'un fichier , je vous explique mon problème j'ai un fichier donnée.txt de cette forme:

    Coordonnées 1 (x,y)

    0.0000 25.5300
    5.0000 25.5300
    10.0000 25.5300
    15.0000 25.5300
    19.0000 25.5300
    24.0000 25.5300

    Coordonnées 2 (x,y)

    0.0000 9.5830
    5.0000 9.5830
    10.0000 9.5830
    15.0000 9.5830
    19.0000 9.5830
    24.0000 9.5830

    J'arrive à lire l'intégralité de mon fichier, ms le soucis c'est que je voudrais tracer les droites avec matplotlib correspondant à ces points.
    Je n'arrive pas à me retrouver dans le fichier et à isoler chaque donnée.
    Si vous pouvez m'éclairer sur ce problème, merci d'avance!

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    En gros tu veux quelque-chose de cette forme?

    ['0.0000', '25.5300']
    ['5.0000', '25.5300']
    ['10.0000', '25.5300']
    ['15.0000', '25.5300']
    ['19.0000', '25.5300']
    ['24.0000', '25.5300']
    ['0.0000', '9.5830']
    ['5.0000', '9.5830']
    ['10.0000', '9.5830']
    ['15.0000', '9.5830']
    ['19.0000', '9.5830']
    ['24.0000', '9.5830']

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut
    Oui en quelquesorte, j'ai réussi à obtenir quelquechose de similaire voici mon code:

    fichier = open("save.txt","r")
    for ligne in fichier.readlines():
    donnees = ligne.split()
    print ligne

    Mais mon soucis, c'est que je souhaite réutiliser chaque liste entre crochets et tracer le point avec matplotlib.

    Ms je n'y arrive pas, si je fais print ligne[0] par exemple, il me donne juste le 1er caractère de la liste....

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Par défaut
    Et si tu fais :

    tu doit avoir ton X, ton séparateur et ton Y dans une liste.

    Enfin, je pense.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut
    ['0.0000', '25.5300']
    ['5.0000', '25.5300']
    ['10.0000', '25.5300']
    ['15.0000', '25.5300']
    ['19.0000', '25.5300']
    ['24.0000', '25.5300']
    ['30.5780', '25.5300']
    ['34.6070', '24.7730']
    ['40.6350', '24.3841']
    ['46.2610', '24.3841']
    ['52.1920', '24.1270']
    ['54.8110', '23.7190']
    ['60.2810', '23.6220']
    ['64.6470', '23.6220']
    ['69.1700', '23.6220']
    ['71.8420', '23.2500']
    ['76.2850', '23.2500']
    ['80.6439', '23.2500']
    ['84.3765', '23.2500']
    ['90.3342', '23.2500']
    ['94.0404', '23.2500']
    ['100.0000', '23.2500']

    Voila le résultat avec print donnees, le problème c'est que la commande plot() prend une donnée en abscisse et une donnée en ordonnée -> plot(x,y) comment je peux donc extraire de chaque liste cela par exemple pour la première liste 0.0000 et 25.5300

    Merci!

  6. #6
    Membre très actif
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Par défaut
    tu peut donée un nom a chaque liste c non une grande liste qui contient tout vos cordonée (x,y) et puis ta facilement accès au variables de la liste donc tu fait par exemple

  7. #7
    Membre expérimenté Avatar de brachior
    Homme Profil pro
    Doctorant
    Inscrit en
    Mai 2011
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2011
    Messages : 190
    Par défaut
    Si la fonction plot peu prendre des chaines de caractères,
    Tu peux écrire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for ligne in open("save.txt","r").readlines():
      plot(*ligne.split())
    Sinon, il faut convertir à la main ce qui donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ligne in open("save.txt","r").readlines():
      donnees = ligne.split()
      plot(float(donnee[0]),float(donnee[1]))
    Ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for x, y in ((float(donnees[0]), float(donnees[1])) for donnees in (ligne.split() for ligne in open("save.txt","r").readlines())):
      plot(x, y)

Discussions similaires

  1. [VBA Excel] Extraction de données fichier txt vers Excel et mise en forme
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/05/2008, 11h45
  2. manipulation de fichier txt
    Par eozenn dans le forum VBScript
    Réponses: 18
    Dernier message: 28/03/2008, 23h06
  3. Extraire données fichier txt
    Par thib1984 dans le forum MATLAB
    Réponses: 6
    Dernier message: 18/02/2008, 13h39
  4. extraire donné fichier txt afficher dans xml
    Par jasminrose dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2007, 12h14
  5. Extraire données fichier txt
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 17h12

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