Skip to content

Instantly share code, notes, and snippets.

@jeanbaptisteb
Created February 2, 2023 20:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeanbaptisteb/0767618190df4648e568b7113bcc48fc to your computer and use it in GitHub Desktop.
Save jeanbaptisteb/0767618190df4648e568b7113bcc48fc to your computer and use it in GitHub Desktop.
Ce script Python permet de découper aléatoirement une liste Excel en X groupes de tailles égales (ou à peu près égales), puis de les enregistrer chacun dans des fichiers Excel séparés.
import numpy as np
import pandas, os
root = r"C:\Documents\mes documents" #répertoire où se trouve le fichier. A modifier.
nom_fichier = "liste_complete.xlsx" #nom du fichier Excel contenant la liste complète que l'on souhaite découper
df = pandas.read_excel(
os.path.join(root, nom_fichier), #lire le fichier pour le traiter
header=None #Important : si les colonnes ont des intitulés (du type "nom", "prénom", etc.), supprimer « header="None" » de ce code. Sinon, si les colonnes n'ont pas d'intitulé, laisser "header=None" (autrement le script n'inclut pas la première ligne dans le tirage aléatoire).
)
df = df.sample(frac=1) #on mélange la liste aléatoirement
nb_de_groupes = 5 #changer cette valeur selon le nombre de groupes qu'on souhaite (ici 5, par exemple)
split_df = np.array_split(df, nb_de_groupes) #on découpe la liste en x sous listes
for i, group in enumerate(split_df):
group.to_excel(os.path.join(root, "groupe " + str(i) + ".xlsx")) #on enregistre le sous-groupe dans un fichier intitulé "groupe X.xlsx"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment