Bonsoir, je suis en Terminal S option ISN et j'ai un projet à finir pour les vacances.
L'objectif de mon projet est d'obtenir un graphique par rapport aux position x,y,z d'un téléphone dans l'espace. J'ai donc un fichier ".txt" que je dois ouvrir pour utiliser les données, mettre les valeurs x,y,z et t(pour le temps) dans des listes distinctes.
Voici le fichier en questions:
"# Accelerometer Values
# filename: default.txt
# Saving start time: Mon Sep 28 10:56:49 CEST 2015
import linecache
i=9 #= numéro de ligne
x=[] #création de la liste des x
y=[] #création de la liste des y
z=[] #création de la liste des z
t=[] #création de la liste des t
i=9
n=0
ligne=[0]
while ligne[0] != "#":
j=0
ligne=linecache.getline('valeurs.txt',i)
caractere=""
while ligne[j] != ' ': #liste X
caractere=caractere+ligne[j]
j=j+1
caractere=float(caractere)
x.append(caractere)
while ligne[j+2] != ' ': #liste Y
caractere=caractere=ligne[j+2]
j=j+1
caractere=float(caractere)
y.append(caractere)
while ligne[j+2] != ' ': #liste Z
caractere=caractere=ligne[j+2]
j=j+1
caractere=float(caractere)
z.append(caractere)
while ligne[j+2] != ' ': #liste t
caractere=caractere=ligne[j+2]
j=j+1
caractere=float(caractere)
t.append(caractere)
i=i+1
print("liste x:",x)
print("liste y:",y)
print("liste z:",z)
print("liste t:",t)
Donc ici je crée plusieurs boucles qui on pour objectif de séparer les valeurs x,y,z et t.
or lorsque que j'execute mon projet, j'obtiens l'erreur suivante :
"caractere=float(caractere)
ValueError: could not convert string to float: '-' "
Je ne comprends pas comment la conversion ne puisse pas se faire..
je ne connais pas la méthode "getline" mais généralement à la lecture d'une ligne de texte le saut de ligne est pris en compte genre :
with open('fichier.txt', 'r') as fichier :
c = fichier.readline()
print(c)
donc la tu vas avoir le contenu de la ligne plus le saut de ligne soit :
"contenu \n"
Python ne peut donc pas convertir \n en float ou int
fabien
Projet accéléromètre
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.