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 :

Créer un écrire un fichier de données avec Python ? Pas de CSV ou .txt ! [Python 2.X]


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2015
    Messages : 18
    Points : 21
    Points
    21
    Par défaut Créer un écrire un fichier de données avec Python ? Pas de CSV ou .txt !
    Bonjour à tous,

    Je viens vers vous car je cherche de la doc (tuto, cours, etc..) sur les fichiers de données sous Python.
    J'ai mon petit programme tout beau tout gentil qui traite des données et j'obtiens une liste de résultats.
    Je souhaite écrire la liste en question dans un autre fichier fichier .py à l'aide de code python uniquement.
    Une personne m'a parlé de boucle avec des pourcents (%) pour créer des colonnes etc.. mais je ne trouve rien.
    Quellqu'un aurait la référence ?

    Merci d'avance de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Salut,

    Dans un fichier .py ?

    Fastoche
    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
     
    vincent@tiemoko:~/Bureau$ python3
    Python 3.2.3 (default, Feb 27 2014, 21:33:50) 
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> l = ['a', 'f', 'jhy', 125]
    >>> with open('donnees.py', 'w') as outf:
    ...     s = 'data = %s' % str(l)
    ...     outf.write(s)
    ... 
    29
    >>> from donnees import data
    >>> data
    ['a', 'f', 'jhy', 125]
    >>>

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2015
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    Merci pour ta réponse VinsS qui au passage, fonctionne parfaitement bien

    Mais j'aurais souhaité pouvoir donner un peu de présentation à mon fichier, gérer des colonnes et y donner des titres.

    Malheureusement là dessus, je n'ai rien trouvé :/

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2015
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    En fait voici la présentation que j'aimerais respecter pour la création de mon fichier :

    **********************************************************
    Fichier de donnees contenant les coefficients de projection POD

    Coefficient i l valeur
    -------------------------
    1 | ***
    2 | ***
    3 | ***
    .
    .
    .
    etc
    **********************************************************

    Je ne saurais pas faire plus simple
    Et c'est justement dans la création de cette présentation que je sèche :/

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Bonjour,

    dans ce cas tu peux écrire ta présentation "en dur" dans le code, et utiliser une boucle pour les données, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    data = range(20) # c'est ma liste de donnees, une suite de nombres entiers
    contenuFic = []  # Liste avec le contenu de ton fichier (chaque element de la liste = une ligne du fichier)
     
    # Ecriture du contenu du fichier dans le tableau contenuFic
    contenuFic.append("Fichier de donnees contenant les coefficients de projection POD")
    contenuFic.append("Coefficient i  |  Valeur")
    contenuFic.append("---------------------------")
    for i in range(len(data)):
        contenuFic.append("%i  |  %i"%(i, data[i]))
     
    # Creation et ecriture du fichier python
    ficPython = open("donnees.py", "w")
    ficPython.write("\n".join(contenuFic)) # Ecriture de contenuFic dans le fichier, chaque element etant separe avec le caractere de passage a la ligne "\n"
    ficPython.close()
    La boucle for de mon exemple avec les "%" doit correspondre à ce dont t'avait parlé cette personne
    Cette boucle est faite sur chaque élément de ton tableau de données. i est l'indice du tableau, et data[i] sa valeur.
    Pour créer une chaîne de caractère contenant ces informations qui sont des nombres, il faut utiliser le formatage de chaîne:
    formatage des chaînes en python
    "%i" permet d'afficher un nombre entier. Dans mon exemple, les données sont également des nombres entiers mais ce n'est pas forcément ton cas. Pour un nombre décimal par exmple tu devras utiliser %f.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2015
    Messages : 18
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup pour toutes ces informations mokochan, ça va m'être très utile

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/03/2010, 09h58
  2. lire écrire un fichier de donnée
    Par Ladgalen dans le forum Calcul scientifique
    Réponses: 13
    Dernier message: 05/10/2009, 21h13
  3. Trie d'un fichier de données avec une colonne date
    Par lil-works dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 03/03/2009, 00h27
  4. Charger un fichier de données avec une entête
    Par gmachi10 dans le forum MATLAB
    Réponses: 7
    Dernier message: 15/07/2008, 18h57
  5. [C#] [.NET CF] des fichiers de données avec l'application
    Par safisoft13 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/06/2005, 09h30

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