Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/11/2009, à 17:23

Geoffrey35

[Python] charger une liste à partir d'un fichier

Bonjour,

Bon, je suis désespéré de trouver une solution à mon problème;
J'ai un fichier avec 2 colonnes de réels que je souhaite charger dans une liste.
J'ai essayé:

data = scipy.io.array_import.read_array('fichier.dat')

Mais il me dit que c'est obsolete.
J'ai essayé:

f=file("fichier.dat","r")
data1=[line.split() for line in f]
f.close()
data=array(data1)

Mais il me met un tableau de chaine au lieu d'un tableau de réel.

Si quelqu'un a eu le même problème que moi, faites moi parvenir votre solution.
Merci par avance!


Ubuntu, c'est pas non plus...

Hors ligne

#2 Le 22/11/2009, à 19:22

Geoffrey35

Re : [Python] charger une liste à partir d'un fichier

up, please


Ubuntu, c'est pas non plus...

Hors ligne

#3 Le 22/11/2009, à 23:31

BadZoot

Re : [Python] charger une liste à partir d'un fichier

Une fois que tu as créé ta chaine data1 qui ne contient que des string représentant des float, tu peux ajouter quelques lignes du genre :

for i in range(len(data1)):
    data1[i] = float(data[i])

EDIT:
J'ai posté en testant sommairement ma réponse.
Dans ton cas, tu as une liste qui contient des sous-listes.
Ces sous-listes contiennent des string représentant des floats.
Ceci serait plus approprié :

for i in range(len(data1)):
    for j in range(len(data1[i])):
        data1[i][j] = float(data1[i][j])

J'ai essayé de voir si on pouvait 'floater' tes valeurs au niveau de la ligne :
data1 = [line.split() for line in f]
Mais je ne vois pas comment.
Recherches en cours. Est-ce au moins possible?

Dernière modification par U-toyen (Le 23/11/2009, à 00:03)


Le pervers père de Pierre perd son imper' vert.

No, I am Zoot's identical twin-sister : Dingo.

Hors ligne

#4 Le 23/11/2009, à 09:13

Geoffrey35

Re : [Python] charger une liste à partir d'un fichier

Ok, merci, je teste dès que j'ai un quart d'heure.


Ubuntu, c'est pas non plus...

Hors ligne

#5 Le 23/11/2009, à 11:31

roynux

Re : [Python] charger une liste à partir d'un fichier

Geoffrey35 a écrit :

Bonjour,

f=file("fichier.dat","r")
data1=[line.split() for line in f]
f.close()
data=array(data1)
tbl = []
f=file("fichier.dat","r")
for line in f:
    tbl.append([float(x) for x in line.split()])
f.close()
print tbl

Et je pense qu'avec numpy, c'est plus simple, mais je ne connais pas bien.

Hors ligne