IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2019
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : février 2019
    Messages : 63
    Points : 42
    Points
    42
    Par défaut Bien ranger les valeurs dans un fichier excel avec Pandas / Lecture et Ecriture de fichiers.
    Bonjour,

    Je dispose de 4 fichiers Excel contenant chacun 2 colonnes: une pour le nom de l'élève, l'autre pour sa classe (Term1, Term2, Term3, Term4). Dans la colonne classe figure en face du nom de l'élève une note.

    Le but est de rassembler les colonnes des classes Term1 (dans le 1er fichier), Term2 (dans le 2ème fichier), Term3 (dans le 3ème fichier), et Term4 (dans le dernier fichier) dans un seul et unique fichier Excel nommé Global avec les notes correspondantes. Je n'ai pas besoin de la colonne des noms des élèves. Pour cela, j'utilise le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    import pandas as pd
    import numpy as np
    import glob
     
    tout=[]
     
    col = [1]
     
     
    for f in glob.glob("C:\\Users\\olivi\\Desktop\\Test-Excel\\*.xlsx"):
        df = pd.read_excel(f, usecols=col)
        tout.append(pd.read_excel(f, usecols=col))
     
     
    df = pd.concat(tout, sort='True')
    print(df.head(10))
     
    enregistrer = pd.ExcelWriter('C:\\Users\\olivi\\Desktop\\Test-Excel\\Global.xlsx')
    df.to_excel(enregistrer, 'Hoja 1')
    enregistrer.save()
    Ca fonctionne, mais l'affichage des notes dans le fichier Excel ne me convient pas, car cela crée plein de cases vides inutiles et rend difficile la lecture du tableau. J'obtiens ce que vous voyez à la figure 1 ci-jointe, et ce que je voudrai c'est plutôt ce que vous voyez à la figure 2 ci-jointe.
    Bien sûr, je pourrai sélectionner dans Excel les cases vides et Cliquer sur "Supprimer" ce qui me permettrait de décaler les valeurs vers le haut, et obtenir l'effet souhaité. Cependant, je souhaite le faire directement avec pandas.

    Nom : fig1.jpeg
Affichages : 46
Taille : 127,9 KoNom : fig2.jpeg
Affichages : 37
Taille : 172,9 Ko


    Avez-vous des suggestions à me faire pour résoudre ce problème ? Merci par avance.
    Cordialement,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 719
    Points : 30 590
    Points
    30 590
    Par défaut
    Salut,

    Citation Envoyé par Olivier20000 Voir le message
    Avez-vous des suggestions à me faire pour résoudre ce problème ?
    La lecture d'articles qui montrent comment on peut faire çà?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/12/2019, 15h06
  2. [XML] Modifier les valeurs dans un fichier
    Par DynamX dans le forum Qt
    Réponses: 3
    Dernier message: 04/06/2018, 14h29
  3. Doubler une valeur dans une cellule Excel avec un checkbox
    Par Rowmanow dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/06/2017, 20h01
  4. Réponses: 6
    Dernier message: 27/03/2012, 15h58
  5. Réponses: 20
    Dernier message: 23/03/2006, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo