samirbenouaret
Messages postés9Date d'inscriptionsamedi 22 août 2020StatutMembreDernière intervention 2 septembre 2020
-
27 août 2020 à 22:37
Liste -
29 août 2020 à 00:47
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)
Whismeril
Messages postés18417Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 5 juin 2023624 28 août 2020 à 08:14
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"
29 août 2020 à 00:47