Utilisez Python dans votre environnement depuis Win Automation

Aperçu

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. image.png 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.

thème

Remplissez 10000 lignes de données Excel contenant le nul suivant (vide) avec 0 (zéro) et entrez-le dans un autre système image.png 0 Utilisez python pour la pièce à remplir et Winautomation pour la pièce d'entrée (Excel vers Excel comme virtuel)

Conditions préalables

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.

Environnement

Installation de Python

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

Installer les bibliothèques nécessaires au traitement des données

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.

Processus Winautomation

image.png

Surveillance des paramètres du dossier

Configurer le déclencheur du moniteur de fichiers avec des déclencheurs à partir de WinAutomation Console スクリーンショット 2020-09-13 135734.jpg 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

Créer un processus

Aperçu du processus スクリーンショット 2020-09-13 203140.jpg

Explication de chaque action

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 image.png 2.Copy File(s) Copiez le fichier détecté dans le dossier Data dans le dossier Work スクリーンショット 2020-09-13 180433.jpg 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 スクリーンショット 2020-09-13 181647.jpg 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

スクリーンショット 2020-09-13 182956.jpg

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.

スクリーンショット 2020-09-13 183945.jpg

À propos du processus de 6 ~ 17

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. ezgif.com-crop.gif

Résumé

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

Utilisez Python dans votre environnement depuis Win Automation
Utilisez CASA Toolkit dans votre propre environnement Python
Utilisez facilement vos propres fonctions en Python
Utilisez Thingsspeak de Python
Utilisez config.ini avec Python
Utiliser fluentd de python
Utiliser des dates en Python
Automatisation de l'interface utilisateur avec Python
Utiliser Valgrind avec Python
Utilisez MySQL depuis Python
environnement virtuel en Python
Utiliser MySQL depuis Python
N'utilisez pas readlines () dans votre instruction Python for!
Utiliser jupyter-lab installé dans l'environnement virtuel python (venv)
Utiliser Python dans un environnement Anaconda avec VS Code
Utilisez BigQuery depuis Python.
Utiliser le profileur en Python
Environnement de développement en Python
Utilisez pydantic lors de la lecture des variables d'environnement en Python
Construction de l'environnement Python @ Win7
Utilisez os.getenv pour obtenir des variables d'environnement en Python
Utilisez un GPU gratuit dans votre environnement préféré
Utilisez mecab-ipadic-neologd de Python
Faire fonctionner mongoDB à partir de python dans l'environnement ubuntu ① Introduction de mongoDB
Voyons comment utiliser def en python
Utiliser l'expression let en Python
Utiliser Anaconda dans un environnement pyenv
Utiliser le protocole de mesure avec Python
Utiliser la fonction de rappel en Python
Utiliser le magasin de paramètres en Python
Utiliser le cache HTTP en Python
OCR à partir de PDF en Python
Utilisez l'ODM de MongoDB avec Python
Gérer les variables d'environnement en Python
Utiliser Random Forest avec Python
Utilisez Spyder de Python IDE
UI Automation Partie 2 en Python
Utilisez l'API e-Stat de Python
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
Utiliser la PNL Stanford Core à partir de Python
[Python] journalisation dans votre propre module
Utilisez le tissu tel quel en python (fabric3)
Obtenir des données de Quandl en Python
Installer Scrapy dans l'environnement Python Anaconda
Comment utiliser SQLite en Python
Lire et utiliser des fichiers Python à partir de Python
Préparez votre premier environnement de développement Python
Utiliser de force Google Translate à partir de python
Utiliser rospy avec virtualenv dans Python3
installer tensorflow dans un environnement anaconda + python3.5
Extraire du texte d'images avec Python
Utilisez l'API kabu Station® de Python
Comment utiliser Mysql avec python
Utiliser Python mis en pyenv avec NeoVim
Utiliser Azure Blob Storage à partir de Python
Utilisez l'API Flickr de Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Utilisez django-debug-toolbar dans l'environnement VirtualBox / Vagrant
Utiliser OpenCV avec Python 3 dans Window