Comment sauvegarder un tableau de données (une matrice) dans un fichier en python ?

Published: 10 octobre 2016

Updated: 05 juin 2023

DMCA.com Protection Status

Pour enregistrer un tableau NumPy 2D dans un fichier texte, l'utilisation la plus commune est la fonction savetxt(). Exemples :

Utiliser la fonction savetxt() pour enregistrer un tableau 2D

Cette fonction prend deux paramètres : un tableau et un nom de fichier. Pour l'utiliser, il suffit de spécifier le nom de fichier dans lequel vous souhaitez sauvegarder votre tableau, ainsi que le tableau lui-même. Vous pouvez également spécifier des options telles que le délimiteur à utiliser, qui déterminera comment les données sont organisées dans le fichier texte. Une fois que vous avez choisi vos paramètres souhaités, il vous suffit d'appeler "savetxt" et votre tableau sera enregistré dans un fichier texte.

import numpy as np

data = np.arange(1,11)

data = data.reshape(5,2)

 np.savetxt('data.txt',data)

Le code précédent crée un fichier appelé data.txt contenant:

1.000000000000000000e+00 2.000000000000000000e+00
3.000000000000000000e+00 4.000000000000000000e+00
5.000000000000000000e+00 6.000000000000000000e+00
7.000000000000000000e+00 8.000000000000000000e+00
9.000000000000000000e+00 1.000000000000000000e+01

Précisez le format des données.

Pour spécifier le format des données, vous pouvez utiliser l'option "fmt". Par exemple, si vous souhaitez stocker des entiers, vous pouvez le spécifier de cette manière:

np.savetxt('data.txt', data, fmt='%i')

va donner

1 2
3 4
5 6
7 8
9 10

Ajout d'un délimiteur

np.savetxt('data.txt', data, fmt='%i', delimiter=';')

donne

1;2
3;4
5;6
7;8
9;10

Chargement d'un tableau 2D avec loadtxt()

Pour charger un tableau à partir d'un fichier texte dans NumPy, vous pouvez utiliser la fonction np.loadtxt(). Cette fonction ne nécessite qu'un seul paramètre, qui est le nom de votre fichier texte contenant les données du tableau. Ensuite, elle renverra votre tableau sous forme d'objet NumPy, que vous pouvez facilement manipuler et analyser comme tout autre tableau NumPy.

new_data = np.loadtxt('data.txt')

print(new_data)

donne

array([[ 1., 2.],
[ 3., 4.],
[ 5., 6.],
[ 7., 8.],
[ 9., 10.]])

Loadtxt avec un délimiteur

new_data = np.loadtxt('data.txt', delimiter=';')

donne

array([[ 1., 2.],
  [ 3., 4.],
  [ 5., 6.],
  [ 7., 8.],
  [ 9., 10.]])

En combinant ces deux fonctions, il est facile d'enregistrer et de charger des tableaux NumPy 2D dans des fichiers texte. Cela vous permettra de stocker vos données pour une utilisation future ou de les partager avec d'autres personnes.

Références

Liens Sites
savetxt() numpy.org
loadtxt() numpy.org