Si vous souhaitez automatiser le processus d'entrée, vous pouvez inclure un processus Python en tant que pré-processus. WinAutomation a une action Python, mais elle s'appelle IronPython, et il semble difficile d'utiliser des bibliothèques telles que Pandas. Je voudrais donc expliquer comment exécuter Python à partir de Winautomation dans l'environnement où la bibliothèque que vous souhaitez utiliser est installée.
Remplissez 10000 lignes de données Excel contenant le nul suivant (vide) avec 0 (zéro) et entrez-le dans un autre système 0 Utilisez python pour la pièce à remplir et Winautomation pour la pièce d'entrée (Excel vers Excel comme virtuel)
Il peut y avoir différentes manières de construire un environnement Python, comme l'utilisation d'une distribution, mais cette fois nous l'expliquerons dans la Version officielle. Si vous disposez d'un environnement installé, il se peut que vous ne puissiez pas fonctionner normalement s'il existe plusieurs environnements, veuillez donc prendre vos propres risques.
https://www.python.org/ Téléchargez 3.8.5 depuis, installez sans passer le chemin. Exécutez des scripts et des commandes à partir de Py.exe, une application de lancement installée en même temps.
Vérifiez l'état de l'installation et le fonctionnement du lanceur en vérifiant les informations de version
C:\Users\username>py -V
Python 3.8.5
Vérifiez la bibliothèque initialement installée Recherchez les bibliothèques qui ne sont pas la dernière version
C:\Users\username>py -m pip list
Package Version
--------------- -------
pip 20.2.1
setuptools 49.6.0
C:\Users\username>py -m pip list --outdate
Si ce n'est pas la dernière version, les deux seront mis à jour
C:\Users\user>py -m pip install -Nom de la bibliothèque U
Reconfirmer avec py -m pip list
Cette fois, les pandas sont utilisés pour le traitement des données, et openpyxl et xlrd sont utilisés pour lire et écrire des fichiers Excel. numpy et les autres bibliothèques requises sont automatiquement installées lorsque pands est installé
C:\Users\user>py -m pip install pandas
C:\Users\user>py -m pip install openpyxl
C:\Users\user>py -m pip install xlrd
C:\Users\user>py -m pip list
Package Version
--------------- -------
et-xmlfile 1.0.1
jdcal 1.4.1
numpy 1.19.2
openpyxl 3.0.5
pandas 1.1.2
pip 20.2.3
python-dateutil 2.8.1
pytz 2020.1
setuptools 50.3.0
six 1.15.0
xlrd 1.2.0
Ajoutez s'il y a une bibliothèque que vous souhaitez utiliser de la même manière L'éditeur de code est Visual Studio Code.
Configurer le déclencheur du moniteur de fichiers avec des déclencheurs à partir de WinAutomation Console Liez le nom du processus à démarrer après OK
En démarrant Created of File Monitor Trigger Les variables suivantes ont automatiquement des valeurs Utile à retenir car il s'agit d'une variable qui n'est pas affichée dans Process Designer
Nom de variable | Contenu |
---|---|
%FileTriggerFileName% | Nom de fichier avec extension |
%FileTriggerFilePath% | Conserve le chemin complet du fichier et toutes les propriétés du fichier |
%FileTriggerFilePath.NameWithoutExtension% | Nom de fichier sans extension |
Aperçu du processus
1.Set Variable La variable de nom de fichier transmise par File Monitor Trigge est trop longue, donc je l'ai simplement rendue plus facile à comprendre 2.Copy File(s) Copiez le fichier détecté dans le dossier Data dans le dossier Work 3.Write Text to File Créer un script Python (.py) Si le fichier de données à saisir a un nom de fichier fixe, il n'est pas nécessaire de générer un script python à chaque fois. Dans ce cas, il est supposé que le nom de fichier fluctuera, par exemple lorsque la date est incluse, de sorte que le nom de fichier est acquis à partir de la variable Trigger et écrit à chaque fois. Enregistrer sous UTF-8 sous ZZ.py Python Script est un contenu minable qui lit simplement dans Pandas et l'enregistre avec un remplissage nul et un nom de fichier 2.xlsx Lorsqu'il est créé à partir d'un déclencheur, le nom du fichier est entré dans la partie variable
import pandas as pd
df = pd.read_excel('%FileTriggerFileName%')
df.fillna(0).to_excel('%FileName%2.xlsx',index = None)
4.Run DOS Command Exécutez le fichier ZZ.py créé en 3
5.Launch Excel J'ouvre un fichier Excel généré par Python, mais la notation de chemin du nom de fichier de variable est / au lieu de \ uniquement avant la variable. Je veux faire attention car c'est un point de montage De plus, si vous décochez Rendre l'instance visible, vous pouvez l'exécuter sans l'afficher à l'écran, mais dans ce cas, assurez-vous d'insérer Fermer Excel à la fin du processus et de fermer l'instance ou elle restera ouverte dans les coulisses.
Au lieu de les entrer dans ces autres systèmes, seules des données partielles sont transférées vers Excel vierge cellule par cellule, donc omettez-les. La raison de ne pas faire de copie par lots est qu'il est supposé qu'une transaction se produira lors de la saisie sur un autre système.
Le lanceur py.exe facilite l'exécution du script .py. Il peut être intégré au processus Win Automation après avoir utilisé une bibliothèque pratique telle que Pandas.
Pour dire la vérité, si vous voulez simplement remplir des zéros, vous pouvez le faire à partir de WinAutomation en utilisant le remplacement d'Excel. (Facile) Cependant, si un prétraitement compliqué est nécessaire, il semble difficile de contrôler Excel. Vous pouvez faire de même avec WinAutomation seul en définissant le processus sur zéro s'il est vide lors de la validation. Cependant, il sera plus lent que si les données avaient été prétraitées. Dans ma boromachine Core i7 3770 8G, lorsque 10000 lignes * 7 colonnes sont transférées dans une autre cellule Excel par cellule, 5 minutes et 50 secondes avec prétraitement Il a fallu 6 minutes et 30 secondes lors de la publication tout en effectuant un traitement nul s'il était vide dans Win Automation sans prétraitement.
Je suis seul car il y a encore peu d'informations sur Win Automation.
Recommended Posts