【Python】シンプルなCSVを1行づつ読み込んで自動化(短め簡単なコードです)

今回はCSV内の文字を単純に読み込み、1行づつ、1セルづつ読み込ませるようなサンプルをメモします。
pythonのpyautogui中心で簡単な自作RPAの作成を作って業務効率化を目指したい方向けと思います。

 

pythonでCSVから1行づつ、1項目づつ入力処理を行う場合

 

CSVを用意する

CSVファイルはこんな感じの11行のシンプルな内容。
繰り返し行う作業は事前にこういった内容でリストCSV化しておくと良い。
会社独自の業務アプリへ登録する作業を自動化するケースにも使えるかと思います。文字入力が必要な項目数のCSV列を用意しましょう。ちなみに日本語はクリップボード経由の入力ができる環境であることが条件です。

サンプルコード

import pyautogui
import time
import pyperclip

time.sleep(5) #実行して5秒以内にメモ帳をアクティブ

f = open('dq-list.csv', 'r') #CSVを内部的に開く

for x in range(11): #1~11行読み込む(無限ループなく安全に…)

aaa = f.readline() #1行目づつ読み込ませる
aaa = aaa.split(',') #カンマ区切りでリスト型(配列)にする
pyautogui.typewrite(aaa[0]) #CSV1列目
pyautogui.typewrite(aaa[1]) #CSV2列目
pyautogui.typewrite(aaa[2]) #CSV3列目
pyperclip.copy(aaa[3]) #4列目はクリップボードに入れる(日本語なので)
pyautogui.hotkey('ctrl','v') #CSV4列目 コピペで入力。

pyautogui.hotkey('enter') #改行しておく

f.close() #CSVを内部的に閉じる

※For文から以下の字下げしている部分はTAB入力が必要です。

このサンプルを試す場合は、プログラム実行後すぐ5秒以内にメモ帳をアクティブにすると
1~11行目の文字をそのまま単純に入力する。

実際業務でリアルに作る場合は、pyautoguiでtabや矢印などのキーボード操作を行って商品コードや名前などの文字入力するという感じです。繰り返し処理をfor文にしている理由は、基本的に自分の業務の効率化のため、自分で組んで自分で使うことを想定しているので回数指定をする方が安全かなと思っています。

今回は以上です。

コメント