Comment lire et écrire un tableau / matrice de fichier avec python?
Je suis en train de créer un programme qui prend des données et le met en 2 par 10 tableau de chiffres dans un fichier texte. Ensuite, le programme a besoin de récupérer ces informations plus tard itérations. Mais je n'ai aucune idée de comment faire cela. J'ai été à la recherche à numpty commandes, fichier, les commandes, et essayer de faire un tableau. Mais je ne peux pas sembler obtenir ce travail.
Voici un exemple de la table, je suis en train de faire:
0 1 1 1 0 9 6 5
5 2 7 2 1 1 1 0
Alors je voudrais récupérer ces valeurs. Ce qui est une bonne façon de le faire?
Vous devez définir le "tableau". C'est un fichier texte de nombres avec exactement quatre espaces les séparant? Ou est-ce un ensemble de nombres justifié à gauche à l'intérieur de 5 places. Ils ne sont pas les mêmes, à moins que tous les chiffres sont les chiffres simples.
OriginalL'auteur YamSMit | 2013-02-08
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas utiliser le
csv
module?Cette approche a l'avantage de rendre les fichiers qui sont lisibles par d'autres programmes, comme Excel.
Heck, si vous en avez vraiment besoin d'espace ou délimité par des tabulations, il suffit d'ajouter
delimiter="\t"
de votre lecteur et l'écrivain de la construction.OriginalL'auteur Matt Luongo
numpy
devrait être assezce sera de la forme (2,10). Si vous voulez transposer, il suffit d'ajouter un
.T
juste après le crochet ferménumpy
comme une dépendance...pourquoi pensez-vous ainsi?
C'est un lourd projet, et à moins qu'il est en train de faire de graves mathématiques sur cette matrice, il n'y a vraiment aucune raison d'utiliser numpy. Ne m'obtenez pas le mal, c'est une grande bibliothèque. Otoh, que, il ne ressemble il est explorer l'option de la question, c'est peut-être le chemin à parcourir.
Je comprends votre point une je suis d'accord
OriginalL'auteur Francesco Montesano
pour gérer les lignes une par une:
ou, pour générer un tableau à deux dimensions:
Grâce Ord et Francesco Montesano pour les commentaires
[[int(x) for x in ln.split()] for ln in f.readlines()]
readlines()
n'est pas nécessaire et si le fichier est volumineux ralentit le code beaucoup et remplir la mémoire. Il est préférable d'utiliserfor ln in f:
OriginalL'auteur gefei