Listes

Signaler
Messages postés
9
Date d'inscription
samedi 22 août 2020
Statut
Membre
Dernière intervention
2 septembre 2020
-
 Liste -
Bonjour,
Actuallement je travaille sur les fichiers csv, j'ai un petit problème. Alors j'ai 8 capteurs de pression qui sont définis par: CSFD, CSortie,CSAD, CLF,CP,CSFG,CSM,CLG. J'ai crée une 2 ème liste qui contient les données (Valeurs numériques) des ces capteurs. Je voudrais afficher juste les valeurs d'un seul capteur, c'est-à-dire selon la variable a. Par exemple si je mis a=CSFD, donc je veux afficher les données du capteur CSFD, mais il m'affiche erreur. Je vous remerciepour votre compréhension.
import numpy as np
#pour demander le nom du fichier à lire et récupérer les donées de type csv 
nom_fichier=input("donner moi le nom du fichier: ")
#La fonction loadtxt qui appartient à la bibliothèque numpy permet de lire les données csv à partir de la ligne 13 
pointage = np.loadtxt(nom_fichier,delimiter=';',skiprows=13)
#Récupérer les données dans des listes 
t=pointage[:,9]
CSFD=pointage[:,0]
CSortie=pointage[:,1]
CSAD=pointage[:,2]
CLF=pointage[:,3]
CP=pointage[:,5]
CSFG=pointage[:,6]
CSM=pointage[:,7]
CLG=pointage[:,8]
a=float(input("donner moi le nom du capteur: ")
List=[CSFD,CSortie,CSAD,CLF,CP,CSFG,CSM,CLG]
for i in range(0,len(List)):
    if List[i]=a:
        print(a)

1 réponse

Messages postés
14774
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
23 septembre 2020
435
Bonjour

Commençons par les choses simples,
"Donnez moi"
avec un z.

Ensuite
a=float(input("donner moi le nom du capteur: ")

Si je vois afficher la demande d’un nom, je vais taper du texte,
"CSAD"
par exemple, or CSAD ça ne peut pas être converti en float, même pas en chiffres romains

Et quand bien même ça pourrait, dans tous les langages que je connais, l’index d’une liste c’est pas un float c’est un int (mais je ne code pas en Python alors p’tet que ça marche avec un float)

Pour résoudre ton problème une solution est d’écrire un menu du type
"Pour les pommes de terre, tapez 1
Pour les navets, tapez 2
Etc"


Une autre solution serait d’utiliser un dictionnaire https://www.qwant.com/?q=python+dictionnary&client=brz-brave
Je vous remercie pour votre réponse.