Verwenden Sie Python in Ihrer Umgebung von Win Automation

Überblick

Wenn Sie den Eingabeprozess automatisieren möchten, möchten Sie möglicherweise einen Python-Prozess als Vorprozess einschließen. WinAutomation hat eine Python-Aktion, die jedoch IronPython heißt, und es scheint schwierig zu sein, Bibliotheken wie Pandas zu verwenden. image.png Daher möchte ich erklären, wie Python von Winautomation in der Umgebung ausgeführt wird, in der die Bibliothek installiert ist, die Sie verwenden möchten.

Thema

Füllen Sie 10.000 Zeilen Excel-Daten mit der folgenden Null (leer) mit 0 (Null) und geben Sie sie in ein anderes System ein image.png 0 Verwenden Sie Python für den zu füllenden Teil und Winautomation für den Eingabeteil (Excel zu Excel als virtuell).

Voraussetzungen

Es gibt verschiedene Möglichkeiten, eine Python-Umgebung zu erstellen, z. B. die Verwendung einer Distribution. Dieses Mal werden wir dies jedoch in der offiziellen Version erläutern. Wenn Sie eine installierte Umgebung haben, können Sie möglicherweise nicht normal arbeiten, wenn mehrere Umgebungen vorhanden sind. Gehen Sie daher bitte Ihr eigenes Risiko ein.

Umgebung

Python-Installation

https://www.python.org/ Laden Sie 3.8.5 von herunter, installieren Sie es, ohne den Pfad zu übergeben. Führen Sie Skripte und Befehle von Py.exe aus, einer gleichzeitig installierten Launcher-App.

Überprüfen Sie den Installationsstatus und den Startvorgang, indem Sie die Versionsinformationen überprüfen

C:\Users\username>py -V
Python 3.8.5

Überprüfen Sie die ursprünglich installierte Bibliothek Suchen Sie nach Bibliotheken, die nicht die neueste Version sind

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

Wenn nicht die neueste Version, werden beide aktualisiert

C:\Users\user>py -m pip install -U Bibliotheksname

Bestätigen Sie erneut mit der py-m pip-Liste

Installieren Sie die für die Datenverarbeitung erforderlichen Bibliotheken

Dieses Mal werden Pandas für die Datenverarbeitung verwendet und openpyxl und xlrd werden zum Lesen und Schreiben von Excel-Dateien verwendet. numpy und andere erforderliche Bibliotheken werden automatisch installiert, wenn pands installiert wird

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

Fügen Sie hinzu, wenn es eine Bibliothek gibt, die Sie auf die gleiche Weise verwenden möchten Der Code-Editor ist Visual Studio Code.

Winautomationsprozess

image.png

Ordnereinstellungen überwachen

Richten Sie den Dateimonitor-Trigger mit Triggern aus der WinAutomation Console ein スクリーンショット 2020-09-13 135734.jpg Verknüpfen Sie den Prozessnamen, der nach OK gestartet werden soll

Durch Starten von Erstellt von File Monitor Trigger Die folgenden Variablen haben automatisch Werte Nützlich, da es sich um eine Variable handelt, die in Process Designer nicht angezeigt wird

Variablennamen Inhalt
%FileTriggerFileName% Dateiname einschließlich Erweiterung
%FileTriggerFilePath% Behält den vollständigen Pfad der Datei und alle Eigenschaften der Datei bei
%FileTriggerFilePath.NameWithoutExtension% Dateiname ohne Erweiterung

Einen Prozess erstellen

Übersicht über den Prozess スクリーンショット 2020-09-13 203140.jpg

Erklärung jeder Aktion

1.Set Variable Die von File Monitor Trigge übergebene Dateinamenvariable ist zu lang, daher habe ich sie nur verständlicher gemacht image.png 2.Copy File(s) Kopieren Sie die erkannte Datei in den Datenordner in den Arbeitsordner スクリーンショット 2020-09-13 180433.jpg 3.Write Text to File Python-Skript erstellen (.py) Wenn die einzugebende Datendatei einen festen Dateinamen hat, muss nicht jedes Mal ein Python-Skript generiert werden. In diesem Fall wird davon ausgegangen, dass der Dateiname schwankt, z. B. wenn das Datum enthalten ist, sodass der Dateiname von der Trigger-Variablen erfasst und jedes Mal geschrieben wird. Speichern Sie als UTF-8 als ZZ.py. スクリーンショット 2020-09-13 181647.jpg Python Script ist ein schäbiger Inhalt, der nur in Pandas eingelesen und mit Nullfüllung und Dateiname 2.xlsx gespeichert wird Beim Erstellen aus einem Trigger wird der Dateiname in den variablen Teil eingegeben

import pandas as pd
df = pd.read_excel('%FileTriggerFileName%')
df.fillna(0).to_excel('%FileName%2.xlsx',index = None)

4.Run DOS Command Führen Sie die in 3 erstellte Datei ZZ.py aus

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

5.Launch Excel Ich öffne eine von Python generierte Excel-Datei, aber die Pfadnotation des Variablendateinamens lautet / anstelle von \ nur vor der Variablen. Ich möchte vorsichtig sein, weil es ein passender Punkt ist Wenn Sie die Option "Instanz sichtbar machen" deaktivieren, können Sie sie ausführen, ohne sie auf dem Bildschirm anzuzeigen. In diesem Fall müssen Sie jedoch am Ende des Vorgangs "Excel schließen" einfügen und die Instanz schließen, da sie sonst hinter den Kulissen geöffnet bleibt.

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

Über den Prozess von 6 ~ 17

Anstatt in diese anderen Systeme einzugeben, wird nur der Datenteil Zelle für Zelle in ein leeres Excel übertragen, sodass er weggelassen wird. Der Grund dafür, dass keine Stapelkopie erstellt wird, besteht darin, dass davon ausgegangen wird, dass bei der Eingabe auf einem anderen System eine Transaktion erfolgt. ezgif.com-crop.gif

Zusammenfassung

Der Launcher py.exe erleichtert das Ausführen von .py Script. Es kann in den Win Automation-Prozess integriert werden, nachdem eine praktische Bibliothek wie Pandas verwendet wurde.

Um die Wahrheit zu sagen, wenn Sie nur Nullen eingeben möchten, können Sie dies über WinAutomation mithilfe der Excel-Ersetzung tun. (Einfach) Wenn jedoch eine komplizierte Vorverarbeitung erforderlich ist, scheint es schwierig zu sein, Excel zu steuern. Dasselbe kann mit WinAutomation allein getan werden, indem der Prozess auf Null gesetzt wird, wenn er beim Posten leer ist. Es ist jedoch langsamer als wenn die Daten vorverarbeitet wurden. In meinem Boromachine Core i7 3770 8G, wenn 10.000 Zeilen * 7 Spalten Zelle für Zelle in eine andere Excel-Zelle übertragen werden, 5 Minuten und 50 Sekunden mit Vorverarbeitung Das Posten mit WinAutomation ohne Vorverarbeitung und ohne Verarbeitung dauerte 6 Minuten und 30 Sekunden.

Ich bin einsam, weil es noch wenig Informationen über Win Automation gibt.

Recommended Posts

Verwenden Sie Python in Ihrer Umgebung von Win Automation
Verwenden Sie CASA Toolkit in Ihrer eigenen Python-Umgebung
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Verwenden Sie thingspeak aus Python
Verwenden Sie config.ini mit Python
Verwenden Sie fließend Python
Verwenden Sie Datumsangaben in Python
UI-Automatisierung mit Python
Verwenden Sie Valgrind mit Python
Verwenden Sie MySQL aus Python
virtuelle Umgebung in Python
Verwenden Sie MySQL aus Python
Verwenden Sie in Ihrem Python keine readlines () für Anweisungen!
Verwenden Sie jupyter-lab, das in einer virtuellen Python-Umgebung (venv) installiert ist.
Verwenden Sie Python in einer Anaconda-Umgebung mit VS-Code
Verwenden Sie BigQuery aus Python.
Verwenden Sie den Profiler in Python
Entwicklungsumgebung in Python
Verwenden Sie pydantic beim Lesen von Umgebungsvariablen in Python
Python-Umgebungskonstruktion @ Win7
Verwenden Sie os.getenv, um Umgebungsvariablen in Python abzurufen
Verwenden Sie eine kostenlose GPU in Ihrer Lieblingsumgebung
Verwenden Sie mecab-ipadic-neologd von Python
Betreiben Sie mongoDB von Python in einer Ubuntu-Umgebung. ① Einführung von mongoDB
Mal sehen, wie def in Python verwendet wird
Verwenden Sie den let-Ausdruck in Python
Verwenden Sie Anaconda in einer Pyenv-Umgebung
Verwenden Sie das Messprotokoll mit Python
Verwenden Sie die Rückruffunktion in Python
Verwenden Sie den Parameterspeicher in Python
Verwenden Sie den HTTP-Cache in Python
OCR aus PDF in Python
Behandeln Sie Umgebungsvariablen in Python
Verwenden Sie Random Forest mit Python
Verwenden Sie Spyder von Python IDE
UI-Automatisierung Teil 2 in Python
Verwenden Sie die e-Stat-API von Python
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Verwenden Sie Stanford Core NLP von Python
[Python] Anmelden Ihres eigenen Moduls
Verwenden Sie Stoff wie in Python (Stoff3)
Installieren Sie Scrapy in einer Python Anaconda-Umgebung
Verwendung von SQLite in Python
Lesen und verwenden Sie Python-Dateien aus Python
Bereiten Sie Ihre erste Python-Entwicklungsumgebung vor
Verwenden Sie zwangsweise Google Translate aus Python
Verwenden Sie rospy mit virtualenv in Python3
Installieren Sie Tensorflow in einer anaconda + python3.5-Umgebung
Extrahieren Sie mit Python Text aus Bildern
Verwenden Sie die kabu Station® API von Python
Wie man MySQL mit Python benutzt
Verwenden Sie Python in pyenv mit NeoVim
Verwenden Sie Azure Blob Storage aus Python
Verwenden Sie die Flickr-API von Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Verwenden Sie die django-debug-Symbolleiste in der VirtualBox / Vagrant-Umgebung
Verwenden Sie OpenCV mit Python 3 in Window