工作目标,假设我们现在拿到一份新工作,是将电子表格中的数据一条一条的录入到图形软件中。
现在我们需要分析这份工作需要用到那些Python库。
工作流程,读取Excel表格,将数据复制到剪贴板,打开软件,将鼠标定位到录入的位置,粘贴数据。
第一步:导入库
第一个库openpyxl,用于处理Excel表格。
第二个库pyautogui,用户控制鼠标。
第三个库pyperclip,读取数据到剪切板。
第四个库time,控制时间
#导入库
from openpyxl import Workbook,load_workbook
import pyautogui
import pyperclip
import time
读取Excel表格:
#读取电子表格
wb = load_workbook('.\text.xlsx')
ws = wb.active
#读取最大行、最大列
wsmax_row = ws.max_row
wsmax_col = ws.max_column
#读取电子表格数据,如果表里面存在标题行,修改最小行、最小列。
rows = []
for row in ws.iter_rows(min_row=1,max_row=wsmax_row,min_col=1,max_col=wsmax_col,values_only=True):
rows.append(list(row))
因为不知道鼠标位置,需要使用下面的代码来获取鼠标坐标:
#获取鼠标坐标
mousex, mousey = pyautogui.position()
#打印鼠标位置
print('Mouse position is : ', str(mousex),',',str(mousey))
下面我们来进行一系列窗口操作:
#点击鼠标左键,(848, 1060)为获取的鼠标坐标
pyautogui.leftClick(848, 1060)
#暂停0.5秒
time.sleep(0.5)
#点击鼠标左键
pyautogui.leftClick(993, 195)
time.sleep(0.3)
text = '需要录入的文本内容'
#将文本复制到剪贴板
pyperclip.copy(text)
#将文本内容粘贴
pyautogui.hotkey('ctrl','v')
#点击鼠标左键
pyautogui.leftClick(1032, 284)
time.sleep(0.3)
#将文本复制到剪贴板,rows为电子表格中的内容
pyperclip.copy(rows[0][0])
#点击鼠标左键
pyautogui.leftClick(1237, 763)
time.sleep(0.5)
#将文本内容粘贴
pyautogui.hotkey('ctrl','v')
这些功能可以根据实际情况做修改。