Automate Data Entry
[script]
Needed a script for data entry. System has a GUI and I decided to use pyautogui to type the information in for me. This script was created for a specific purpose but could be adapted if needed.
I created a list of what values I needed to enter. Each item has 3 fields that need to be entered:
- Code
- Description
- Min Entry
All of the fields are strings and are set in the VALUES variable.
Highlights of the script:
- Set an interval of 0.5 seconds for pyautogui
- Set a sleep for 10 seconds to place the cursor in the correct spot on the screen for entry
- Calls to
press('enter', interval=INTERVAL)advance the cursor to the next field and next row in the GUI - A sleep call was added to
val_code_entryfunction as a failsafe if the script needs to be halted viaCtrl+C
Script:
#!/usr/bin/env python3
"""Add codes to system."""
from time import sleep
from pyautogui import press, typewrite
INTERVAL = 0.5
# Sample Code, Description, and Min Entry values
VALUES = [
['Code01', 'CODE 1', 'C01', ],
['Code02', 'CODE 2', 'C02', ],
['Code03', 'CODE 3', 'C03', ],
['Code04', 'CODE 4', 'C04', ],
]
def val_code_entry(code: str, description: str, min_entry: str, sleep_: int = 3):
"""Code entry process."""
typewrite(code, interval=INTERVAL)
press('enter', interval=INTERVAL)
typewrite(description, interval=INTERVAL)
press('enter', interval=INTERVAL)
typewrite(min_entry, interval=INTERVAL)
press('enter', interval=INTERVAL)
press('enter', interval=INTERVAL)
press('enter', interval=INTERVAL)
sleep(sleep_)
def main():
"""Main function."""
for value in VALUES:
val_code_entry(code=value[0],
description=value[1],
min_entry=value[2]
)
if __name__ == "__main__":
print('Sleeping for 10 seconds for cursor placement...')
sleep(10)
main()
Ran the script and it worked. Saved my time and errors.
Enjoy! Happy Coding.
REFERENCES
Comments
Join the discussionNo comments yet. Be the first to comment.