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:
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.
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()
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.
Avez-vous des suggestions à me faire pour résoudre ce problème ? Merci par avance.
Cordialement,
Partager