.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "automation/execute_student_projects.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_automation_execute_student_projects.py: Exécuter des scripts python envoyé en pièce jointe ================================================== Script utilisé pour exécuter des scripts python envoyés en pièces jointes par des étudiants. Ces programmes sont récupérés par le script :ref:`fetch_student_projects_from_gmail.py `. .. _script-execute-script: .. GENERATED FROM PYTHON SOURCE LINES 14-15 import .. GENERATED FROM PYTHON SOURCE LINES 15-19 .. code-block:: default import sys import os import pandas .. GENERATED FROM PYTHON SOURCE LINES 20-21 logging .. GENERATED FROM PYTHON SOURCE LINES 21-24 .. code-block:: default from pyquickhelper.loghelper import fLOG # execute_student_projects fLOG(OutputPrint=True) .. GENERATED FROM PYTHON SOURCE LINES 25-26 import des fonctions dont on a besoin .. GENERATED FROM PYTHON SOURCE LINES 26-28 .. code-block:: default from ensae_teaching_cs.automation_students.interro_motif import execute_python_scripts, _get_code .. GENERATED FROM PYTHON SOURCE LINES 29-30 paramètre du programme .. GENERATED FROM PYTHON SOURCE LINES 30-38 .. code-block:: default neworder = "nom_prenom key pattern_id cmp motif_dans_sortie sortie_dans_motif dist time size program err out content url".split() dest_folder = os.path.normpath(os.path.abspath(os.path.join( *([os.path.dirname(__file__)] + ([".."] * 5) + ["_data", "ecole", "ENSAE", "2016-2017", "1A_november"])))) # expected outputs url = "http://www.xavierdupre.fr/enseignement/examens/1A_2016/enonce_{0}.txt" excel_filename = os.path.join(dest_folder, "exo_1A_2016.xlsx") out_filename = os.path.join(dest_folder, "results_2016.xlsx") .. GENERATED FROM PYTHON SOURCE LINES 39-40 fonctions générant différentes versions de noms ou prénoms .. GENERATED FROM PYTHON SOURCE LINES 40-49 .. code-block:: default def gen_mail(mail): yield mail yield mail.lower() yield mail.replace("-paristech", "") yield mail.lower().replace("-paristech", "") .. GENERATED FROM PYTHON SOURCE LINES 50-52 lecture du fichier récupéré par le script fetch_student_projects_from_gmail.py .. GENERATED FROM PYTHON SOURCE LINES 52-54 .. code-block:: default input = pandas.read_excel(excel_filename, engine='openpyxl') .. GENERATED FROM PYTHON SOURCE LINES 55-56 exécution des scripts .. GENERATED FROM PYTHON SOURCE LINES 56-60 .. code-block:: default col_names = dict(folder="nom_prenom", mail="nom_prenom") df = execute_python_scripts(".", input, col_names=col_names, url=url, fLOG=fLOG, gen_mail=gen_mail, eol="/") .. GENERATED FROM PYTHON SOURCE LINES 61-62 enregistrement des résultats .. GENERATED FROM PYTHON SOURCE LINES 62-66 .. code-block:: default print(df.columns) df = df[neworder] df.to_excel(out_filename) .. GENERATED FROM PYTHON SOURCE LINES 67-68 construction d'un résumé .. GENERATED FROM PYTHON SOURCE LINES 68-80 .. code-block:: default short = df["nom_prenom key pattern_id cmp dist time size program".split()] short = short["nom_prenom dist".split()].groupby( "nom_prenom", as_index=False).min() total = df.merge(short, on="nom_prenom", suffixes=("", "_2")) print(total.shape) print(short.shape) print(df.shape) total = total[total.dist == total.dist_2] total["OK"] = total.dist <= 1 print(total.shape) new_total = total.groupby("nom_prenom").first() new_total.to_excel(out_filename + ".summary.xlsx") .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.000 seconds) .. _sphx_glr_download_automation_execute_student_projects.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: execute_student_projects.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: execute_student_projects.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_