0
votes

Comment convertir la liste des chaînes aux flotteurs?

Je importe des chiffres d'un fichier CSV qui ressemble à la photo ci-jointe: Vue du fichier CSV

Cependant, ces chiffres sont importés comme une chaîne et non un flotter donc j'ai besoin de convertir. J'ai essayé d'utiliser cette méthode mais cela dit simplement qu'il ne peut pas convertir. xxx

de la recherche sur la pile, j'ai trouvé ce que je pensais fonctionner: xxx

Cependant, mon tableau sort toujours En tant que liste des chaînes comme ceci: xxx

alors que, je veux que ce soit un tableau de flotteurs.

espère que vous pouvez aider.


2 commentaires

ligne.split () ligne est déclarer ???


Comme il apparaît, vous essayez de faire quelque chose avec NUMPY, essayez d'utiliser np.genfromtxt pour lire le fichier CSV à la place, comme dans cette réponse Stackoverflow.com/Questtions/ 3518778 / ... Alternativement, utilisez des pandas.


3 Réponses :


0
votes

Ceci est assez confus, comme indiqué ci-dessus, vous n'avez pas déclaré ligne code> n'importe où, mais si vous souhaitez convertir la chaîne '1.09805600' code> sur un flotteur, appelez simplement C'est un flotteur.

>>> x = '1.09805600'
>>> float(x)
1.09805600


0 commentaires

0
votes

Veuillez essayer ci-dessous: XXX

Démo

si ce n'est pas fonctionne, veuillez ajouter votre exemple csv fichier dans la liaison de démonstration donnée


1 commentaires

Salut @frustrateddeveloper Il n'a pas fonctionné mais ive a ajouté mon CSV à la démonstration.



0
votes

Si vous souhaitez convertir les les deux les colonnes à float afin de vous retrouver avec une liste qui ressemble à: xxx

alors cela le fera: xxx

Si vous vous souciez de la deuxième colonne: xxx

édité pour gérer les colonnes avec des valeurs mauvaises: xxx


2 commentaires

Bonjour, merci pour votre aide mais cela dit toujours: ValueError: Impossible de convertir une chaîne en float: '®'


@Benwatson, alors vous avez dans l'une des colonnes quelque chose qui n'est pas une chaîne valide pouvant être convertie. Que voudrait faire avec une valeur telle que '®' ? Le contourner complètement? Utiliser une valeur de 0? Au fait, c'était dans la première colonne ou êtes-vous vraiment intéressé uniquement à convertir la deuxième colonne? Il y a une solution pour tout.