RPA(ロボットによる業務自動化)

内容

RPA(ロボットによる業務自動化:Robotics Process Automation)は繰返し作業や構造化データを扱う作業など、ホワイトカラーの間接業務を自動化するテクノロジーです。サンプル動画はPythonを使用してspreadsheetからの転記作業を自動化したプログラムです。動画では作業時間の比較をするため、前半に手作業による転記、後半に自動化による転記を紹介しています

利用メリット

異なるアプリケーション間の転記作業など単純な繰返し作業を自動化することにより、作業時間の大幅な短縮や疲れによる転記ミスなどを防止できます

主な利用ツール
  • Python
  • pyautogui
  • pyperclip
  • pandas
Code

import pandas as pd
from pandas import Series,DataFrame
import pyautogui
import subprocess
import pyperclip
import sys
import numpy as np
from time import sleep
secs = 1

pyautogui.PAUSE = 0.05
pyautogui.FAILSAFE = True

def pyperpaste():
    pyautogui.keyDown("ctrl")
    pyautogui.press("v")
    pyautogui.keyUp("ctrl")
    
pyautogui.hotkey('ctrl','alt','d')
pyautogui.keyDown("alt")
for _ in range(2):
    pyautogui.press("tab")
pyautogui.keyUp("alt")
pyautogui.hotkey('alt','l')

random_dammy = pd.read_excel('test.xlsx', sheetname='一覧表')
dammy_data = DataFrame.as_matrix(random_dammy,columns=None)

choice = input("DBアプリが左上にありますか?開始しますか? yesかnoでお答えください").lower()
if choice == "yes":
    pyautogui.moveTo(86, 253, duration=0.2)
    pyautogui.click()

    first_time_wait = True
    pyautogui.PAUSE = 0.5
    trial = 0
    for j in dammy_data:
        if trial > 1:pyautogui.PAUSE = 0.05
        for i in j:
            pyperclip.copy(str(i))
            if first_time_wait:
                sleep(secs)
                first_time_wait = False
            pyautogui.press("space")
            pyautogui.press("backspace")
            pyperpaste()
            pyautogui.press("tab")
        pyautogui.press("tab")
        trial += 1
elif choice == "no":
    print ("Stepped")
    sys.exit()
else:
    sys.stdout.write("Please answer yes or no")
    sys.exit()

お仕事のご依頼はcontactからどうぞ