Bonjour,
J'ai un fichier csv représentant un calendrier. chaque colonne est un mois chaque ligne un jour de ce mois (1,2,3,..,30,31). Si la date est importante pour mon projet la cellule contient un simple "X". J'aimerais au final crée une liste date[] contenant les dates importantes classées sous la forme chronologique [jour,mois]
ex: date[[7,9],[14,9], ... ,[3,5],[10,5]]
Mon idée de débutant était de d'abord créer une liste contenant une liste pour chaque mois, ensuite de recherché dans cette liste les chaines "X" ou "x" de chaque liste et de crée une nouvelle liste contenant [j,m] ou j est l'index d'une chaine X dans la liste imbriquée et m celui de la liste imbriquée + ou - une constante suivant qu'on soita la fin de l'année ou au début de la nouvelle (car oui la période est sur une année scolaire et non une année civile)
Je n'en suis pas encore là, c'est juste pour que vous compreniez le sens de ma démarche, au cas ou il y a une solution plus efficace pour arriver a ce que je veux faire.
Pour l'instant je veux créer la liste contenant les données brutes des cellules, colonne par colonne. Voici mon code:
Ce code ne fonctionne pas comme attendu. Il marche une fois et me remplis bien la colonne septembre sous forme de liste dans lmd, mais ensuite je n'ai que des listes vides ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 from csv import * lmd,ul=[],[] i=1 with open("Template_Calendar.csv","r",newline='') as test: testcsv=reader(open("Template_Calendar.csv","r")) while i<10: for row in testcsv: #Lister une colone rowX=row[i] ul.append(rowX) lmd.append(ul) ul=[] # Réinitialisation de la liste provisoire i+=1 print(lmd)
Voici ce que donne le print :
a la première boucle il place bien les données de row[i] dans la liste temporaire, la liste temporaire est bien ajoutée a la liste finale mais ensuite la liste temporaire reste vide. pourtant i est bien incrémenté, j'ai bien 9 listes dans la liste finale.[['September', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '', 'September'], [], [], [], [], [], [], [], []]
Pourriez vous m'indiquer mon erreur?
Et en bonus si vous aviez un tutoriel a m'indiquer pour le traitement des fichiers csv je suis preneur, car ce que j'ai trouvé en faisant une recherche n'est pas complet et la lecture de la doc ne m'a pas aider.
Partager