


Comment appeler des scripts Python dans Excel pour automatiser le traitement des données !
En parlant d'Excel, c'est définitivement le roi dans le domaine du traitement des données. Bien qu'il soit né depuis plus de 30 ans, il compte toujours 750 millions d'utilisateurs fidèles dans le monde, et Python, qui est une célébrité d'Internet. langage, ne compte que 7 millions de développeurs.
Excel est le langage de programmation le plus populaire au monde. Oui, vous avez bien lu. Depuis que Microsoft a introduit la fonction de définition LAMBDA, Excel a pu implémenter des algorithmes dans les langages de programmation, il est donc complet pour Turing, tout comme JavaScript, Java et Python.
Bien qu'Excel soit un outil indispensable pour les scénarios de données à petite échelle, il s'avère quelque peu inadéquat face au Big Data.
Nous savons qu'un tableau Excel peut afficher jusqu'à 1 048 576 lignes et 16 384 colonnes. Le traitement d'un tableau contenant des centaines de milliers de lignes peut être un peu lent. Bien sûr, vous pouvez utiliser VBA pour le traitement des données, ou vous pouvez utiliser Python pour le faire. utiliser Excel.
C'est le sujet de cet article, la bibliothèque tierce de Python-xlwings, qui sert d'outil interactif entre Python et Excel, vous permettant d'appeler facilement des scripts Python via VBA pour réaliser une analyse de données complexe.
Par exemple, importez automatiquement des données :
ou faites correspondre du texte de manière aléatoire :
1. Pourquoi intégrer Python avec Excel VBA ?
VBA, en tant que langage macro intégré à Excel, peut faire presque tout, y compris l'automatisation, le traitement des données, la modélisation d'analyse, etc. Alors pourquoi utiliser Python pour intégrer Excel VBA ? Il y a trois raisons principales :
- Si vous ne maîtrisez pas VBA, vous pouvez directement utiliser Python pour écrire des fonctions d'analyse pour les calculs Excel sans utiliser VBA
- Par rapport à Python, VBA fonctionne plus rapidement ; , et l'écriture de code est plus concise et flexible
- Il existe de nombreuses excellentes bibliothèques tierces en Python, qui peuvent être utilisées à tout moment, ce qui peut économiser beaucoup de temps de codage
Pour ; Amateurs de Python Vous connaissez peut-être déjà très bien les bibliothèques de science des données telles que pandas et numpy. Si vous pouvez les utiliser pour l'analyse de données Excel, elles seront encore plus puissantes.
2. Pourquoi utiliser xlwings ?
Il existe de nombreuses bibliothèques en Python qui peuvent faire fonctionner Excel, telles que xlsxwriter, openpyxl, pandas, xlwings, etc.
Mais par rapport à d'autres bibliothèques, xlwings a presque les meilleures performances globales, et xlwings peut appeler du code Python via des macros Excel.
L'image vient de Early Python
L'utilisation introductive de xlwings ne sera pas expliquée ici.
L'installation de xlwings est très simple. Une installation rapide peut être réalisée via pip sur la ligne de commande :
pip install python
Après avoir installé xlwings, vous devez installer le plug-in Excel intégré de xlwings. Avant l'installation, vous devez fermer toutes les applications Excel. , sinon une erreur sera signalée.
Entrez également la commande suivante sur la ligne de commande :
xlwings addin install
L'invite suivante indique que le plug-in intégré est installé avec succès.
Une fois xlwings et le plug-in installés, ouvrez Excel à ce moment et vous trouverez une boîte de menu xlwings apparaissant sur la barre d'outils, ce qui signifie que le plug-in xlwings est installé avec succès. Il sert de pont pour VBA. pour appeler des scripts Python.
De plus, si votre barre de menu n'affiche pas encore "Outils de développement", vous devez ajouter "Outils de développement" au ruban car nous devons utiliser des macros.
Les étapes sont simples :
1. Sur l'onglet "Fichier", allez dans "Personnaliser > Options".
2. Sous « Personnaliser le ruban » et « Onglets principaux », cochez la case « Outils de développement ».
La barre de menu affiche les outils de développement et vous pouvez commencer à utiliser les macros.
Si vous ne savez toujours pas ce qu'est une macro, vous pouvez temporairement la comprendre comme un outil d'automatisation et de traitement par lots.
À ce stade, le travail de préparation préliminaire est terminé, et la prochaine étape est le combat réel !
三、玩转xlwings
要想在excel中调用python脚本,需要写VBA程序来实现,但对于不懂VBA的小伙伴来说就是个麻烦事。
但xlwings解决了这个问题,不需要你写VBA代码就能直接在excel中调用python脚本,并将结果输出到excel表中。
xlwings会帮助你创建.xlsm
和.py
两个文件,在.py
文件里写python代码,在.xlsm
文件里点击执行,就完成了excel与python的交互。
怎么创建这两个文件呢?非常简单,直接在命令行输入以下代码即可:
xlwings quickstart ProjectName
这里的ProjectName
可以自定义,是创建后文件的名字。
如果你想把文件创建到指定文件夹里,需要提前将命令行导航到指定目录。
创建好后,在指定文件夹里会出现两个文件,就是之前说的.xlsm
和.py
文件。
我们打开.xlsm
文件,这是一个excel宏文件,xlwings已经提前帮你写好了调用Python的VBA代码。
按快捷键Alt + F11
,就能调出VBA编辑器。
Sub SampleCall()<br>mymodule = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))<br>RunPython "import " & mymodule & ";" & mymodule & ".main()"<br>End Sub<br><br>
里面这串代码主要执行两个步骤:
1、在.xlsm
文件相同位置查找相同名称的.py
文件
2、调用.py
脚本里的main()
函数
我们先来看一个简单的例子,自动在excel表里输入['a','b','c','d','e']
第一步:我们把.py
文件里的代码改成以下形式。
import xlwings as xw import pandas as pd def main(): wb = xw.Book.caller() values = ['a','b','c','d','e'] wb.sheets[0].range('A1').value = values @xw.func def hello(name): return f"Hello {name}!" if __name__ == "__main__": xw.Book("PythonExcelTest.xlsm").set_mock_caller() main()
然后在.xlsm
文件sheet1
中创建一个按钮,并设置默认的宏,变成一个触发按钮。
设置好触发按钮后,我们直接点击它,就会发现第一行出现了['a','b','c','d','e']
。
同样的,我们可以把鸢尾花数据集自动导入到excel中,只需要在.py文件里改动代码即可,代码如下:
import xlwings as xw import pandas as pd def main(): wb = xw.Book.caller() df = pd.read_csv(r"E:\test\PythonExcelTest\iris.csv") df['total_length'] = df['sepal_length'] + df['petal_length'] wb.sheets[0].range('A1').value = df @xw.func def hello(name): return f"Hello {name}!" if __name__ == "__main__": xw.Book("PythonExcelTest.xlsm").set_mock_caller() main()
好了,这就是在excel中调用Python脚本的全过程,你可以试试其他有趣的玩法,比如实现机器学习算法、文本清洗、数据匹配、自动化报告等等。
Excel+Python,简直法力无边。
参考medium文章
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Minio Object Storage: Déploiement haute performance dans le système Centos System Minio est un système de stockage d'objets distribué haute performance développé sur la base du langage Go, compatible avec Amazons3. Il prend en charge une variété de langages clients, notamment Java, Python, JavaScript et GO. Cet article introduira brièvement l'installation et la compatibilité de Minio sur les systèmes CentOS. Compatibilité de la version CentOS Minio a été vérifiée sur plusieurs versions CentOS, y compris, mais sans s'y limiter: CentOS7.9: fournit un guide d'installation complet couvrant la configuration du cluster, la préparation de l'environnement, les paramètres de fichiers de configuration, le partitionnement du disque et la mini

La formation distribuée par Pytorch sur le système CentOS nécessite les étapes suivantes: Installation de Pytorch: La prémisse est que Python et PIP sont installés dans le système CentOS. Selon votre version CUDA, obtenez la commande d'installation appropriée sur le site officiel de Pytorch. Pour la formation du processeur uniquement, vous pouvez utiliser la commande suivante: pipinstalltorchtorchVisionTorChaudio Si vous avez besoin d'une prise en charge du GPU, assurez-vous que la version correspondante de CUDA et CUDNN est installée et utilise la version Pytorch correspondante pour l'installation. Configuration de l'environnement distribué: la formation distribuée nécessite généralement plusieurs machines ou des GPU multiples uniques. Lieu

Lors de l'installation de Pytorch sur le système CentOS, vous devez sélectionner soigneusement la version appropriée et considérer les facteurs clés suivants: 1. Compatibilité de l'environnement du système: Système d'exploitation: Il est recommandé d'utiliser CentOS7 ou plus. CUDA et CUDNN: La version Pytorch et la version CUDA sont étroitement liées. Par exemple, Pytorch1.9.0 nécessite CUDA11.1, tandis que Pytorch2.0.1 nécessite CUDA11.3. La version CUDNN doit également correspondre à la version CUDA. Avant de sélectionner la version Pytorch, assurez-vous de confirmer que des versions compatibles CUDA et CUDNN ont été installées. Version Python: branche officielle de Pytorch

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.
