0
votes

Comment convertir une liste de liste dans un fichier CSV en tableau NUMPY

J'ai un fichier CSV qui ressemble au ci-dessous xxx pré>

J'ai besoin de convertir ceci en une matrice numpie. Si j'utilise ci-dessous code p> xxx pré>

i get nan code> dans la sortie. p>

si je fais cela p> xxx pré>

Il ne supprima pas les supports de démarrage et de fin de la liste et des sorties telles que P>

array = ([['0.037621960043907166,', '0.04622473940253258,',
            '0.9161532521247864'],
           ['0.030109738931059837,', '0.03261643648147583,',
            '0.9372738003730774'],
           ['0.030109738931059837,', '0.03261643648147583,',
            '0.9372738003730774']], dtype='<U22')


0 commentaires

3 Réponses :


1
votes

Tant que vous connaissez le format du contenu, je pense qu'un simple tranchant fera

import numpy as np

tmp = open('tmp', 'r').readlines()
tmp = np.array([[float(num) for num in item[1:-2].split(',')] for item in tmp])


0 commentaires

0
votes

Ce dont vous avez besoin est Eval ()

from numpy import array
with open('your file name', 'r') as f:
    str_lines = f.readLines()
    lines = [eval(x) for x in str_lines]
    ary = array(lines)
f.close()


0 commentaires

0
votes

Lorsque vous avez un fichier texte comme: xxx pré>

Vous pouvez essayer ceci: p> xxx pré>

sortie: p>

array([['0.037621960043907166', ' 0.04622473940253258',
        ' 0.9161532521247864'],
       ['0.030109738931059837', ' 0.03261643648147583',
        ' 0.9372738003730774'],
       ['0.030109738931059837', ' 0.03261643648147583',
        ' 0.9372738003730774']], dtype='<U20')


0 commentaires