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 :

Parsing Colonne Fichier Texte


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2022
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Parsing Colonne Fichier Texte
    Bonjour à vous,

    Je suis un débutant en Python et j'aimerais vous demander votre aide pour extraire une colonne précise sur mon fichier texte, je sais que avec les fonctions split on peut extraire quand le format du texte est déjà bien défini. J'aimerais retirer la grosse colonne en dessous de "Value/cm-1" avec les valeurs de la ligne 8 à 79, auriez vous des pistes pou extraire juste cette partie qui est imbriqué dans beaucoup et colonnes ?

    Merci à vous
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    19 599
    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 : 19 599
    Points : 33 865
    Points
    33 865
    Par défaut
    Salut,

    Ouvrir le fichier en lecture et lire son contenu dans une boucle qui n'affiche que les lignes souhaitées. Puis appliquer .split à chaque ligne, pour en extraire la colonne correspondante.

    Ce que j'ai raconté là est une méthode parmi d'autres que vous devriez savoir coder avec un minimum de connaissances du langage. Et si vous avez des difficultés, postez ce que vous avez fait et expliquez ce qui ne va pas.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2022
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    d'accord je vais essayer ça alors, je reviens vers vous merci

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2022
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    j'essaye de choisir les lignes que je veux afficher mais python me les affiche de manière "bizarre" ce qui fait que je ne sais pas comment afficher les séparations des colonnes que je veux avec split, pourriez vous me guider ? merci
    Fichiers attachés Fichiers attachés
    • Type de fichier : py temp.py (209 octets, 5 affichages)

  5. #5
    Membre expérimenté
    Inscrit en
    février 2003
    Messages
    1 391
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 1 391
    Points : 1 512
    Points
    1 512
    Par défaut
    Sans code de votre part, n'espérez pas grand chose de la nôtre.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2022
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Nom : code.JPG
Affichages : 28
Taille : 18,1 Ko

    Bonjour pardon,

    voici le code, j'ai donc déjà afficher la portion des lignes qui m'intéresse selon mon fichier text mais sur python ca n'a pas l'air top... merci à vous

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    19 599
    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 : 19 599
    Points : 33 865
    Points
    33 865
    Par défaut
    Citation Envoyé par Elfilou Voir le message
    j'essaye de choisir les lignes que je veux afficher mais python me les affiche de manière "bizarre"
    Votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with open("C:/Users/aymer/Documents/Py/Value.txt") as f:
        data = f.readlines()[7:79]
        data.split('')
    print(data)
    devrait planter à la ligne 3 car split n'est pas une méthode applicable à une liste.

    Ce qui ne correspond pas à ce que je vous ai suggéré et montre que vous essayez de coder un truc sans trop comprendre ce que vous écrivez: il y a du temps à passer dans les tutos pour apprendre les bases du langage avant de pouvoir faire de petits projets sympa.

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

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2022
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    je vois je vais aller chercher de l'aide ailleurs merci quand même

  9. #9
    Membre éprouvé Avatar de LeNarvalo
    Homme Profil pro
    Amateur Python
    Inscrit en
    février 2014
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Amateur Python
    Secteur : Santé

    Informations forums :
    Inscription : février 2014
    Messages : 549
    Points : 912
    Points
    912
    Par défaut
    Wiztiti a raison...

    Votre code est ultra basique et il y a déjà une erreur grossière. split() est une fonction native des strings pas des listes !
    Ouvrez qq tutos, pour commencer !

    Python is magic ! =)

  10. #10
    Membre éprouvé
    Avatar de Hominidé
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    juin 2018
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : juin 2018
    Messages : 634
    Points : 1 053
    Points
    1 053
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu es assez proche de la solution: ton utilisation du slice te permet effectivement de sélectionner la partie à traiter.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> with open("C:/Users/aymer/Documents/Py/Value.txt") as f:
    ...     data = f.readlines()[7:79]
    ... 
    >>>
    Reste à extraire le 8eme champs:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    >>> for line in data:
    ...     print(line.split()[7]) 
    ... 
    0.13778023448E+00
    -0.41039338392E-07
    -0.33591716068E-08
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.26421941002E+03
    -0.14303321917E-03
    248
    0.14085216624E-06
    0.38404874052E-09
    204
    0.34053101056E-10
    711
    0.22131653189E-12
    0.00000000000E+00
    0
    0.00000000000E+00
    0
    0.00000000000E+00
    0
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.00000000000E+00
    0.38843332704E+03
    -0.27579046202E-01
    0.16860464949E-03
    100
    0.55195810125E-04
    -0.11820796425E-06
    -0.20990288485E-06
    -0.28660795353E-09
    24
    0.26893977841E-09
    0.00000000000E+00
    41
    0.26108926572E-09
    -0.15108082770E-11
    -0.16259815705E-11
    -0.77982561284E-12
    -0.18369550940E-11
    0.18118170739E-14
    56
    0.00000000000E+00
    0.00000000000E+00
    0
    0.00000000000E+00
    0.00000000000E+00
    0
    0.00000000000E+00
    0.00000000000E+00
    >>>
    Si tu avais imprimé le contenu de data(en utilisant print), tu aurais vraisemblablement trouvé la solution tout seul...
    pathlib, poetry, importlib_ressources...

Discussions similaires

  1. parsing de fichiers texte
    Par karaudrey88 dans le forum Langage
    Réponses: 8
    Dernier message: 30/03/2012, 16h42
  2. Parsing de fichier texte
    Par gege2009 dans le forum C++
    Réponses: 10
    Dernier message: 22/12/2010, 14h32
  3. Parsing de fichiers texte
    Par ChristopheD dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 29/07/2010, 02h50
  4. Lire une ligne et colonne fichier texte
    Par Naoli dans le forum Général Python
    Réponses: 4
    Dernier message: 24/11/2007, 12h56
  5. parsing de fichier texte
    Par robert_trudel dans le forum Access
    Réponses: 4
    Dernier message: 03/06/2006, 17h45

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