IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ValueError: could not convert string to float


Sujet :

Python

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2021
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 7
    Par défaut ValueError: could not convert string to float
    bonjour, je voudrais svp afficher le graphe spectre en utilisant un fichier txt qui contient des valeurs de type float :
    j'ai utilisé le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import numpy 
    import matplotlib.pyplot 
    [F,A] = numpy.loadtxt('/Spectre vitesse.txt')
    figure(figsize=(8,4))
    plot(F,A)
    xlabel('F (s)')
    ylabel('A (V)')
    axis([0,0.05,-2,2])
    grid()
    voila les valeurs que je voudrais afficher :

    Nom : Capture.PNG
Affichages : 391
Taille : 12,1 Ko

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Si la chaîne de caractères à convertir est: "0.123456789", ça ne doit pas poser de problème pour convertir en float().

    Mais si chaîne est: "0,0,0,0.123456,0.456789", ça ne va pas: il faut séparer les nombres entre eux avant la conversion.

    Pour ça, il faut utiliser split:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "0,0,0,0.123456,0.456789".split(',')
    ['0', '0', '0', '0.123456', '0.456789']
    et faire une boucle pour convertir et réassembler les nombres dans une nouvelle liste.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 681
    Par défaut
    Salut,

    numpy.loadtxt s'attend à des lignes contenant le même nombre de colonnes. Et dans un fichier texte, si on sait à quoi ressemble une fin de ligne, pour les séparateurs de colonnes, c'est "open bar".

    numpy.loadtxt suppose que les colonnes sont séparées par des espaces (un fichier tabulaire). Dans le votre c'est une virgule (',') à préciser avec delimiter=...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [Python 3.X] ValueError : could not convert strings
    Par RowanMayfair dans le forum Général Python
    Réponses: 5
    Dernier message: 09/05/2019, 15h18
  2. Réponses: 1
    Dernier message: 19/12/2015, 15h16
  3. convertion string to float
    Par dz_robotix dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 23/04/2008, 15h09
  4. Could not convert undefined or null to object
    Par dadovb dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 19/12/2005, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo