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 :

Sélectionner une zone dans un fichier txt


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 27
    Par défaut Sélectionner une zone dans un fichier txt
    Bonjour à tous,

    Je dispose d'un très grand nombre de fichiers .txt qui ont tous le même format (seuls les valeurs numériques changent) et qui sont tous dans le même dossier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Name = [102, 22]_[152, 32]_1_1_1
    Mach = 0; Re = 2000000; T.U. = 1.0; T.L. = 1.0
    Surface Finish = 0; Stall model = 0; Transition model = 1; Aspect Ratio = 0; ground effect = 0
    ?	Cl	Cd	Cm 0.25	T.U.	T.L.	S.U.	S.L.	L/D	A.C.	C.P.
    [°]	[-]	[-]	[-]	[-]	[-]	[-]	[-]	[-]	[-]	[-]
    0.0	-2.868	0.02003	1.113	1.521	1.772	1.523	1.963	-143.170	0.250	0.638
    Or seule la valeur de Cl (ici -2.868) m'intéresse.

    Comme tous les fichiers on la même structure, que les valeurs de Cl sont toutes négatives avec le même nombre de chiffres significatifs, elles sont donc par conséquent toujours au même endroit dans le fichier.

    Je voudrais parcourir tous les fichier de mon dossier et extraire de chacun la valeur de Cl afin de la réécrire dans un autre fichier .txt (qui centralise toutes les valeurs).

    Est ce que cela est possible et si oui comment puis-je le faire ?

    Merci d'avance et bonne soirée,

    Alextoche

  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
    Bonsoir,

    Citation Envoyé par Alextoche Voir le message
    Est ce que cela est possible et si oui comment puis-je le faire ?
    Alextoche
    Alors oui c'est possible, mais avec si peu d'investissement de ta part, tu comprendras que ma réponse va être simple, tu peux le faire en apprenant python.

    Maintenant si tu essayes de coder, et tu indiques où tu bloques, on considérera sans doute cette question d'une autre manière.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par Alextoche Voir le message
    Est ce que cela est possible et si oui comment puis-je le faire
    Côté programmation, tout est possible pour autant qu'on ait un algorithme et qu'on sache traduire en code...

    Dans votre cas, un algorithme bête et méchant pourrait être d'aller récupérer la dernière ligne du fichier: ce sera une chaîne de caractères. Donc vous pouvez la découper avec .split() et récupérer le deuxième élément de la liste.

    Il est clair que si vous faites passer n'importe quel fichier dans une moulinette aussi simpliste, vous aurez probablement un résultat mais pas une information.
    Donc plus compliqué sera la vérification que la structure du fichier correspond à ceux attendus. Si la vérification ne passe pas, il sera rejeté sinon on pourra aller récupérer l'information recherchée à sa place.

    Normalement, vous devriez savoir écrire l'algorithme bourrin après avoir pris le temps d'apprendre les bases du langages en travaillant sur un tuto. (et comme vous n'êtes pas un lycéen d'ISN qui s'est lancé dans un projet un peu trop gros pour lui, vous êtes supposé savoir programmer ce genre de choses avant de poster).

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

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 27
    Par défaut
    Bonjour,

    Voici le code que j'ai :

    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
     
    from pathlib import Path
     
    current_dir = Path(".")
     
    file = open("Configurations_and_Cl.txt","w")
     
    # iterate over all objects in this folder
    for obj in current_dir.iterdir():
        # skip sub-folders
        if obj.is_file() and obj.suffix.endswith('.file'):
            # open the file
            with open(obj) as f: 
                #read lines of the .txt file
                lines = f.readlines()
                # write name and Cl in file
                file.write(str(lines[0])[7:] + ' ')
                file.write(str(lines[5])[4:10] + '\n')
     
     
    file.close()
    Pour résumer la situation, je me balade dans un dossier qui contient des fichiers comme celui de mon premier post (fichiers au format fichier).
    Je voudrais que le programme parcourt chacun des fichiers et en extraire de l'information (ici nom et valeur de Cl).
    J'ai enregistré mon script python dans le dossier que je voudrais qu'il parcourt.
    Malheureusement, après exécution,mon fichier text "réponse" est vide... et je ne comprends pas pourquoi. Est ce que c'est l'extension ".file" qui est mauvaise ?

  5. #5
    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 l'occurrence dans la documentation, vous utilisez un objet Path qui ne s'utilise pas comme un fichier standard. Vous utilisez un objet WindowsPath, qui selon la documentation toujours devrait s'utiliser de cette manière,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    with obj.open() as f:
        # suite

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/07/2006, 20h54
  2. Réponses: 4
    Dernier message: 08/04/2006, 09h10
  3. Réponses: 5
    Dernier message: 02/03/2006, 11h04
  4. enregistrer une donnee dans un fichier txt
    Par zorglub88 dans le forum MFC
    Réponses: 33
    Dernier message: 27/01/2006, 15h13
  5. Ecrire le résultat d'une query dans un fichier txt
    Par jbaers dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/11/2005, 01h49

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