Outils pour utilisateurs

Outils du site


bts:python:stocker_valeurs

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Stocker un tableau de valeur dans un fichier

Pour travailler, vous devez :

  1. lancer le logiciel désiré. Par exemple EduPython,
  2. créer un nouveau fichier programme avec CTRL+N,
  3. enregistrer aussitôt ce fichier (avec CTRL+S) pour lui donner un nom,
  4. vous pouvez maintenant commencer à écrire le script,
  5. quand vous avez fini, vous pouvez lancer l'exécution (CTRL+E)
2022/08/04 16:24 · goupillwiki

On a écrit un programme qui fait des calculs et on voudrait stocker les résultats dans un fichier. Pour illustrer, nous reprenons la fonction de Tracer une courbe.

Suite à la définition de la fonction et à la fabrication des listes liste_x et liste_y, nous avions :

from math import exp
from numpy import linspace

def f(x):
    return exp(-(x-3)**2)
    
liste_x = linespace(0,10,100) # 100 valeurs de 0 à 10
liste_y = [f(x) for x in liste_x]

Fichier csv

Le fichier texte que l'on veut créer est un fichier csv : comma separated values, c'est à dire des données séparées par une virgule. Voici à quoi ressemblera le contenu du fichier csv voulu (quelques premières lignes)

0.0,0.00012340980408667956
0.10101010101010101,0.00022393775270322926
0.20202020202020202,0.00039814633279967626
0.30303030303030304,0.0006935789052571739
0.40404040404040403,0.0011838230273274724
0.5050505050505051,0.001979773207804922
0.6060606060606061,0.003244007528924179

Voici ce que nous allons devoir faire :

  1. ouvrir le fichier en mode écriture (s'il n'existe pas, il est créé)
  2. pour chaque paire x, y contenue dans les tableaux liste_x et liste_y :
    1. convertir x et y dans une forme texte, car le fichier contient du texte
    2. fabriquer une ligne de texte avec x, puis ,, puis y, puis le saut de ligne \n
    3. écrire cette ligne
  3. fermer le fichier.
from math import exp
from numpy import linspace

def f(x):
    return exp(-(x-3)**2)
    
liste_x = linespace(0,10,100) # 100 valeurs de 0 à 10
liste_y = [f(x) for x in liste_x]

f = open('data.csv', 'w') # ouverture en mode écriture
n = len(liste_x)  # n = nombre de valeurs
for i in range(n): # i va de 0 à n-1
    x = liste_x[i] # lecture de la ieme valeur x
    y = liste_y[i] # lecture de la ieme valeur y
    f.write(str(x) + ',' + str(y) + '\n')
f.close() # fermeture du fichier

Exécutez. Le fichier data.csv est créé ! Vous pouvez l'ouvrir mais attention : n'utilisez pas excel ! vous pouvez l'ouvrir avec le bloc-notes.

bts/python/stocker_valeurs.txt · Dernière modification : de goupillwiki