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
A voir également:
- Liste avec fichier csv
- Fichier bin - Guide
- Liste déroulante excel - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
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 :
1. Concernant l'utilisation de
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 à
N'hésite pas si tu as des questions.
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 de
float, as-tu une idée de la variable pour laquelle on veut passer en type
float?
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.3dans 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 à :
Lorsque tu entres la première fois dans la boucle, la variable
Que vaut ensuite la variable
Comment peux-tu faire pour changer chaque élément de
Effectivement ensuite tu peux utiliser la fonction
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 variable
lignevaut
"12,0.5,14.3".
Que vaut ensuite la variable
champssuite à l'instruction
champs = ligne.split(",")?
Comment peux-tu faire pour changer chaque élément de
champsen
float?
Effectivement ensuite tu peux utiliser la fonction
appendpour que ta liste englobante
liste1passe 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.
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.
Je pense qu'il faudrait que je fasse le float avec la variable '' champs''. Mais pour le reste oui c' est bien cela et donc je fais' ' liste1. append(champs)' ' afin de rajouter ? Je n' ai pas tout compris...
Merci d'avance de votre réponse