web-dev-qa-db-fra.com

importer un tableau dans python

Comment puis-je importer un tableau dans python (numpy.array) à partir d'un fichier et de cette façon le fichier doit être écrit s'il n'existe pas déjà.

Par exemple, enregistrez une matrice dans un fichier, puis rechargez-la.

13
ricardo

Extraire l'entrée de la liste d'exemples numpy . Voici l'entrée sur .loadtxt ()

>>> from numpy import *
>>>
>>> data = loadtxt("myfile.txt")                       # myfile.txt contains 4 columns of numbers
>>> t,z = data[:,0], data[:,3]                         # data is 2D numpy array
>>>
>>> t,x,y,z = loadtxt("myfile.txt", unpack=True)                  # to unpack all columns
>>> t,z = loadtxt("myfile.txt", usecols = (0,3), unpack=True)     # to select just a few columns
>>> data = loadtxt("myfile.txt", skiprows = 7)                    # to skip 7 rows from top of file
>>> data = loadtxt("myfile.txt", comments = '!')                  # use '!' as comment char instead of '#'
>>> data = loadtxt("myfile.txt", delimiter=';')                   # use ';' as column separator instead of whitespace
>>> data = loadtxt("myfile.txt", dtype = int)                     # file contains integers instead of floats
23
bayer

Une autre option est numpy.genfromtxt , par exemple:

import numpy as np
data = np.genfromtxt("myfile.dat",delimiter=",")

Cela fera de data un tableau numpy avec autant de lignes et de colonnes que dans votre fichier

8
atomh33ls

(Je sais que la question est ancienne, mais je pense que cela pourrait être une bonne référence pour les personnes ayant des questions similaires)

Si vous souhaitez charger des données à partir d'un fichier ASCII/texte (ce qui présente l'avantage d'être plus ou moins lisible par l'homme et facile à analyser dans d'autres logiciels), numpy.loadtxt est probablement ce que vous voulez:

Si vous souhaitez simplement enregistrer et charger rapidement des tableaux/matrices numpy vers et depuis un fichier, jetez un œil à numpy.save et numpy.load:

1
David

En Python, le stockage d'une liste nue python en tant que numpy.array, puis l'enregistrer dans un fichier, puis la recharger et la reconvertir en liste nécessite quelques astuces de conversion. La confusion est car python les listes ne sont pas du tout la même chose que numpy.arrays:

import numpy as np
foods = ['grape', 'cherry', 'mango']
filename = "./outfile.dat.npy"
np.save(filename, np.array(foods))
z = np.load(filename).tolist()
print("z is: " + str(z))

Cela imprime:

z is: ['grape', 'cherry', 'mango']

Qui est stocké sur le disque sous le nom de fichier: outfile.dat.npy

Les méthodes importantes ici sont les fonctions de conversion tolist() et np.array(...).

1
Eric Leschinski

Jetez un oeil à livre de cuisine SciPy . Il devrait vous donner une idée de quelques méthodes de base pour importer/exporter des données.

Si vous enregistrez/chargez les fichiers à partir de vos propres programmes Python, vous pouvez également envisager le module Pickle ou cPickle.

0
extraneon