@Work
Python arrive au cœur d’Excel
Par Laurent Delattre, publié le 24 août 2023
C’est une véritable révolution pour Office et pour les Data Scientists. Microsoft intègre le langage Python au cœur de son tableur Excel, outil essentiel à l’analyse de données dans tant d’entreprises.
Comme toutes les composantes historiques de la suite Office, Excel permet de créer des tableaux avancés et interactifs grâce aux macros et à l’ancestrale programmation en VBA (Visual Basic for Applications). Si « VB » pouvait paraitre un choix logique au début des années 90, le langage Basic étant à la fois très accessible et un atout historique de l’éditeur (son premier produit était un interpréteur Basic), cela fait bientôt deux décennies que Microsoft aimerait s’en départir et moderniser la programmation au cœur de sa suite bureautique. En 2007, l’éditeur avait ainsi lancé VSTA dans l’espoir d’imposer l’écosystème « .NET » dans sa plateforme collaborative. Mais ces différentes expérimentations pour se débarrasser de VBA sont soit restées dans les cartons de l’éditeur, soit n’ont jamais rencontré le succès escompté.
Aussi, l’annonce cette semaine de l’arrivée de Python au cœur d’Excel sonne comme une véritable révolution !
« Depuis sa création, Microsoft Excel a changé la façon dont les gens organisent, analysent et visualisent leurs données, fournissant une base pour la prise de décision pour les millions de personnes qui l’utilisent chaque jour. Aujourd’hui, nous annonçons une évolution significative des capacités analytiques disponibles dans Excel en publiant un aperçu public de Python in Excel » explique l’équipe Excel de Microsoft dans un billet de Blog. « Python in Excel permet de combiner nativement les analyses Python et Excel dans le même classeur, sans aucune configuration. Avec Python in Excel, vous pouvez taper Python directement dans une cellule, les calculs Python s’exécutent dans le Microsoft Cloud, et vos résultats sont renvoyés sur la feuille de calcul, y compris les graphiques et les visualisations ».
S’assurer qu’Excel reste l’outil roi de la Data
Qu’on le veuille ou non, Excel reste encore et toujours l’outil numéro 1 des entreprises dès lors qu’il s’agit de manipuler des données que ce soit pour les nettoyer, les intégrer, les visualiser. Il est utilisé par les développeurs, par les utilisateurs BI et par bien des acteurs de la DataScience.
Or, aujourd’hui, quand on parle de DataScience, un langage semble faire l’unanimité : Python. Populaire, plutôt simple et interprété ce qui le rend facile à apprendre et à maintenir, relativement universel, Python est en quelque sorte le « VB » des années 2000.
Alors, certes, avec des extensions comme XLwings, Anaconda Fusion (Anaconda est d’ailleurs partenaire de Microsoft sur ce projet d’intégration de Python dans Excel) ou PyXLL, les Data Scientists n’ont pas attendu Microsoft et disposaient déjà de solution pour combiner Python et Excel.
Mais une intégration par Microsoft a l’avantage d’être officielle, universelle et accessible à tous les publics.
L’intégration de Python dans Excel ouvre notamment l’accès aux nombreuses bibliothèques de visualisation avancée de données écrites en Python.
Pour les Data Scientists, bien plus que de permettre l’utilisation de code Python dans les tableaux et workbooks Excel, cette intégration permet surtout de profiter dans Excel de bibliothèques ultra-puissantes et populaires comme Matplotlib, Numpy, Pandas, SciPy ou Seaborn pour le calcul et la visualisation mais aussi TensorFlow, SciKit-Learn, PyTorch, Keras, Caffe2, PyBrain pour tout ce qui est Machine Learning.
« Python in Excel combine les puissantes bibliothèques d’analyse et de visualisation de données de Python avec les fonctionnalités d’Excel que vous connaissez et appréciez. Vous pouvez manipuler et explorer des données dans Excel à l’aide de graphiques et de bibliothèques Python, puis utiliser les formules, les graphiques et les tableaux croisés dynamiques d’Excel pour affiner vos observations » explique de son côté, Stefan Kinnestrand de Microsoft.
Une approche universelle mais payante ?
Pour les utilisateurs, l’exploitation de code Python a été rendue triviale : Microsoft a ajouté une nouvelle fonction « Py » qui permet d’attacher du code Python dans une cellule.
L’incorporation de code Python dans une cellule Excel s’effectue au travers d’une nouvelle fonction “PY”.
La fonction est disponible dès à présent pour tous les utilisateurs enregistrés au programme « Microsoft 365 Insider ».
Reste que pour intégrer Python au cœur d’Excel, Microsoft a quelque peu triché : la solution repose sur le cloud. Les codes python sont convertis en containers (grâce à une technologie d’Anaconda) qui sont exécutés sur le cloud via le service serverless ACI (Azure Container Instances). Et si cette exécution Cloud permet de s’affranchir de problématiques de compatibilité et de performance de la machine hôte tout en permettant une exécution y compris sur des versions mobiles, Web ou Mac d’Excel, elle soulève des inquiétudes à terme sur sa facturation. L’usage est gratuit durant la « Preview », mais Microsoft n’a pas caché que « certaines fonctionnalités pourraient être restreintes sans une licence payante », laissant sous entendre que le support de Python pourrait être facturé séparément.
À LIRE AUSSI :