Liste avec fichier csv
m_722
-
Furansujean Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
Furansujean Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en première et je bloque sur un exercice de python. Je doit compléter l'algorithme suivant afin qu'il donne dans la console une liste ( un tableau dans un tableau ) dont les informations viennent d' un fichier csv. J'ai compris que je dois utiliser un float afin de convertir et un "liste1.append(champs)". Mais je ne sais pas comment les mettre et il me manque d'autres informations. Le fichiers csv contient trois colonnes.
merci d'avance,
def construction (nom): # Construction de la liste de la collection
liste1=[]
with open(nom, encoding='utf8') as f:
entete = f.readline() # On purge la première ligne du fichier : l'en-tête.
for ligne in f:
champs = ligne.split(",") # Un tableau
print(champs)
return(liste1)
...
liste=construction("iris.csv")
Je suis en première et je bloque sur un exercice de python. Je doit compléter l'algorithme suivant afin qu'il donne dans la console une liste ( un tableau dans un tableau ) dont les informations viennent d' un fichier csv. J'ai compris que je dois utiliser un float afin de convertir et un "liste1.append(champs)". Mais je ne sais pas comment les mettre et il me manque d'autres informations. Le fichiers csv contient trois colonnes.
merci d'avance,
def construction (nom): # Construction de la liste de la collection
liste1=[]
with open(nom, encoding='utf8') as f:
entete = f.readline() # On purge la première ligne du fichier : l'en-tête.
for ligne in f:
champs = ligne.split(",") # Un tableau
print(champs)
return(liste1)
...
liste=construction("iris.csv")
Configuration: Windows / Edge 18.18362
3 réponses
-
Bonsoir,
Essaie d'utiliser les balises de code pour avoir un affichage adapté pour le code.
Je reprends donc ton code, remis en forme (ne pas oublier l'importance de l'indentation en Python), tel qu'il apparaîtrait dans un fichier .py :liste1=[] with open(nom, encoding='utf8') as f: entete = f.readline() # On purge la première ligne du fichier : l'en-tête. for ligne in f: champs = ligne.split(",") # Un tableau print(champs) return(liste1) liste=construction("iris.csv")
1. Concernant l'utilisation defloat
, as-tu une idée de la variable pour laquelle on veut passer en typefloat
?
Tu peux essayer sur un exemple pour mieux comprendre ce qu'il se passe.
2. Ce que tu veux, si j'ai bien compris, c'est une liste engloblant des listes qui contiennent les champs d'une ligne du fichier.
Par exemple : une ligne ressemblant à12,0.5,14.3
dans ton fichier csv deviendra :[12.0,0.5,14.3]
. Il faut ensuite que tu la rajoutes à la liste englobante.
N'hésite pas si tu as des questions. -
Bonjour,
Prenons l'exemple que j'ai donné.
Supposons que ta première ligne ressemble à :12,0.5,14.3
.
Lorsque tu entres la première fois dans la boucle, la variableligne
vaut"12,0.5,14.3"
.
Que vaut ensuite la variablechamps
suite à l'instructionchamps = ligne.split(",")?
Comment peux-tu faire pour changer chaque élément dechamps
enfloat
?
Effectivement ensuite tu peux utiliser la fonctionappend
pour que ta liste englobanteliste1
passe de[]
à[[12,0.5,14.3]]
à la fin du premier tour de boucle. -
Bonsoir,
je constate que tu as ouvert un autre topic sur le même sujet , ici : https://forums.commentcamarche.net/forum/affich-36624020-float-python
Si tu n'as plus besoin de mon aide, peux-tu fermer ce sujet ?
Merci.