Charger une matrice d'un fichier [Résolu]

Alambiqux 3 Messages postés mercredi 10 mars 2010Date d'inscription 26 mars 2014 Dernière intervention - 10 mars 2010 à 10:36 - Dernière réponse : cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention
- 10 mars 2010 à 12:38
Bonjour,

J'ai des fichiers colonnes de floats et je souhaiterais les charger dans une liste. Et, également,de manière plus général lorsqu'il s'agit d'une matrice. Afin d'appeler chaque éléments par liste[0][0], liste[1][0]...

Je vous remercie par avance de vos réponses.
Afficher la suite 

Votre réponse

3 réponses

cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 10 mars 2010 à 12:14
-1
Merci
Si ton fichier est du genre
0.22 2.3 5.0 6
0.1 5.7 8.3 3.2

tu peux faire un code du genre.
fichier = open("monfichier.txt", "r")
liste =[]
for line in f.readlines():
    # exemple : line = "0.22 2.3 5.0 6"
    listeValeur = line.split()
    # exemple : listeValeur ['0.22', '2.3', '5.0', '6'] (liste de chaine de caractères)
    listeValeurF = [float(x) for x in listeValeur]
    # exemple : listeValeurF [0.22, 2.3, 5.0, 6] (liste de float)
    liste.append(listeValeurF)


En version plus "condensé" :
fichier = open("monfichier.txt", "r")
liste =[]
for line in f.readlines():
    liste.append([float(x) for x in line.split()])
Commenter la réponse de cs_laurent1024
Alambiqux 3 Messages postés mercredi 10 mars 2010Date d'inscription 26 mars 2014 Dernière intervention - 10 mars 2010 à 12:21
-1
Merci
Belle réactivité, je te remercie, je corrige cependant une petite erreur:

fichier = open("monfichier.txt", "r")
liste =[]
for line in fichier.readlines():
    liste.append([float(x) for x in line.split()])
Commenter la réponse de Alambiqux
cs_laurent1024 987 Messages postés mardi 31 mai 2005Date d'inscription 30 août 2012 Dernière intervention - 10 mars 2010 à 12:38
-1
Merci
Effectivement, je suis allé un peu trop vite en postant mon message.
Commenter la réponse de cs_laurent1024

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.