Partage
  • Partager sur Facebook
  • Partager sur Twitter

Recuperer somme fichier excel

    26 novembre 2019 à 11:24:31

    Bonjour je vous explique mon problème j'essaye de récupérer la somme des absences de chaque utilisateur via un fichier excel dans lequel une colonne contient les utilisateurs et l'autres les absences cependant je n'arrive pas a appliquer une boucle pour faire ceci. Je vous montre mon code

    Ci- dessous la lecture du fichier excel :

     print(fichier1)
     document1 = xlrd.open_workbook(fichier1)
    feuille_1 = document1.sheet_by_index(0)
    
           
    
    

    Ensuite je mets sous forme de liste les 2 colonnes qui m'interesse :

    id = []
    absence = []
    
    #il y'a 253 ligne dans le fichier excel
                    
    for row in range(1,253):
         id.append(feuille_1.cell(row, 2))
         absence.append(feuille_1.cell(row, 9)

    A partir de la je suis bloqué car je n'arrive pas a faire une boucle qui va me récupéré la somme des absences de chaque utilisateur sachant que dans le fichier il y'a plusieurs ligne avec le même utilisateur mais un nombre différent d'absence. Et donc je cherche à faire une somme de toute leurs absences.

    Les différents problème que j'ai rencontré sont que n'arrive pas a convertir la colonne des absences en float tout d'abord.

    -
    Edité par samuelL-M 26 novembre 2019 à 11:26:31

    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2019 à 14:25:54

      Salut le mieux je pense c'est de créer un dictionnaire ou la clé serait l'id de ton utilisateur et à laquelle tu associerai une liste d’absence, comme ça tu n'as plus qu'a sommer les valeurs présentes dans la liste de chaque ID pour avoir ta somme.

      Si tu veux avoir des floats dans ta liste absence tu peux faire :

      absence.append(float(feuille_1.cell(row, 9))

      -
      Edité par Jojuss 26 novembre 2019 à 14:26:12

      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2019 à 16:23:54

        Je vois a peu près ce que tu me dis de faire en gros un dictionnaire comme ceci :

        a = {}
        a[id] = "absence"

        Mais a partir de la comment récupérer toute les absences attribué aux même utilisateur ? Est-ce automatique ?

        Ci dessous mon fichier excel sur lequel je travaille : 

        La colonne consultant correspond à l'id et Nb jours aux absences :

        • Partager sur Facebook
        • Partager sur Twitter
          26 novembre 2019 à 17:34:17

          La comme ça je pense que je ferais un truc du style :

          dict = {}
          ids = []
          for row in range(1,253):
          	if feuille_1.cell(row,2) not in ids:
          		ids.append(feuille_1.cell(row,2))
          
          for id in ids:
          	dict[id] = []
          	
          for row in range(1,253):
          	name = feuille_1.cell(row,2)
          	absence = feuille_1.cell(row,9)
          	dict[name].append(absence)

          Je suis pas sur que ça fonctionne et y'a très probablement moyen de faire ça mieux, mais j'espère au moins t'avoir mis sur la piste.

          -
          Edité par Jojuss 26 novembre 2019 à 17:35:01

          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2019 à 17:33:21

            Merci beaucoup de ton aide Jojuss finalement j'ai fait comme ça : 

            result = {}
            for name in set(id):
                result[name] = 0
            
            for i in range(len(id)):
                hours = float(absence[i))
                name = id[i]
                result[name] += hours
            
            print(result)
            et pour pouvoir mettre toute la colonne en float j'ai dû faire un :
            id.append(feuille_1.cell_value(row, 2))
                              absence.append(float(feuille_1.cell_value(row, 9)))


            Cependant j'ai un nouveau problème car je voudrais comparer ce dictionnaire avec un autre dictionnaire afin de comparer les absences pour chaque utilisateurs mais je ne sais pas du tout comment m'y prendre.

            -
            Edité par samuelL-M 28 novembre 2019 à 10:07:43

            • Partager sur Facebook
            • Partager sur Twitter

            Recuperer somme fichier excel

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown