python做一个数据录入软件_【Python自制软件】什么?领导要我手工录入1000条数据到系统?...

博主因工作需要手动录入大量数据,为解决这一问题,利用Python编程自动生成数据录入软件,通过读取Excel数据源,模拟鼠标点击和键盘操作,实现自动录入系统,大大提高了工作效率。
摘要由CSDN通过智能技术生成

本帖最后由 d8349565 于 2020-12-12 23:03 编辑

“专业的IT人员不做繁琐的日常文件管理工作,专业的白领也负担不起软件定制与维护”

以上大概就是我开始自学Python编程的原因吧!

-----------------------------------------------------------------------------------------------------------------------------------------------

其实标题并不夸张,上个月我确实录入了4960条单据到公司内的系统,原因是临时新增的模块,需要录入初始化数据,IT反馈没办法一次性导入,所以就有了今天这个帖子。

软件介绍:

公司系统近期新增一个业务模块,项目进度较紧凑,大量初始化数据需要录入,多次询问了公司IT组,反馈无法办理一次性导入,只能手工录入。

无奈之下,通过百度搜索学习,“千辛万苦”找到了应对思路,才制作这个软件,实现自动录入系统数据功能。

附件总览:

image.png (78.54 KB, 下载次数: 0)

2020-12-12 22:48 上传

设计思路及流程:

从《数据源》Excel表格中获取所有需要录入的数据“data”;

从“data”中逐一获取每行数据;(注明:每行数据对应系统中一个单据所需要填写的项目信息)

从每行数据中逐一获取单个数据;

将单个数据复制到系统的剪切板;

获取公司系统单据对应项目填写位置在电脑屏幕上的坐标;

模拟鼠标点击操作,激活公司系统文本填写框内;

模拟键盘Ctrl+V操作,将单个数据粘贴只公司系统文本填写框内;

模拟鼠标点击操作,点击办理下一个单据。

以上循环

假装以下为系统单据界面:

image.png (19.65 KB, 下载次数: 0)

2020-12-12 22:50 上传

数据源:

image.png (28.96 KB, 下载次数: 0)

2020-12-12 22:48 上传

手工操作录入:

试着像这样手工录入了几十个单据,感觉要崩溃!!!

1.gif (917.7 KB, 下载次数: 0)

2020-12-12 22:31 上传

使用方法:

1、打开附件中的这个软件获取鼠标实时坐标;

image.png (6.95 KB, 下载次数: 0)

2020-12-12 22:32 上传

2、将鼠标移至输入框后,获取XY坐标值,输入到txt文本中;

image.png (11.5 KB, 下载次数: 0)

2020-12-12 22:35 上传

image.png (19.22 KB, 下载次数: 0)

2020-12-12 22:37 上传

特别注意:【应用坐标】对应的是以下坐标:

image.png (41.38 KB, 下载次数: 0)

2020-12-12 22:40 上传

3、打开exe应用,选择数据源,即可开始录入数据:

2.gif (372.9 KB, 下载次数: 0)

2020-12-12 22:39 上传

Python源码:

[Python] 纯文本查看 复制代码import pyperclip

import pyautogui

import pandas as pd

import easygui as g

pyautogui.FAILSAFE =True # 如果出错,将鼠标移至屏幕左上角可停止程序

#--------------------------------------选择文件,并清洗数据(因为示例文件的数据相对简单,谈不上清洗)

path=g.fileopenbox(msg='')

data=pd.read_excel(path,header=0)

data = data.iloc[:, 1:5] #选择2-5列

[m, n] = data.shape

print(data)

#--------------------------------------设置各项目在屏幕上的坐标数值(x,y)

with open('信息补充.txt', 'r', encoding='utf-8') as t:

txt = t.readlines()

def zuobiao(i):

x=txt[i].split("=")[-1].strip().split(",")[0]

y=txt[i].split("=")[-1].strip().split(",")[1]

a=(int(x),int(y))

return a

应用坐标 = zuobiao(0)

数据输入坐标1 = zuobiao(1)

数据输入坐标2 = zuobiao(2)

数据输入坐标3 = zuobiao(3)

数据输入坐标4 = zuobiao(4)

按钮坐标 = zuobiao(5)

print(应用坐标)

print(数据输入坐标1)

# 应用坐标=(807,1073) # 应用图标位置

# 数据输入坐标1=(560,332) # 项目A

# 数据输入坐标2=(930,331) # 项目B

# 数据输入坐标3=(556,456) # 项目C

# 数据输入坐标4=(932,539) # 项目D

# 按钮坐标=(1168,332) # 按钮

#--------------------------------------函数设置

def 输入(数据输入坐标,第几个数据,一行数据):

pyperclip.copy(一行数据[第几个数据]) #将数据复制到剪贴板

pyautogui.click(数据输入坐标)

pyautogui.hotkey('ctrl','v')

# print(一行数据[第几个数据])

def main ():

pyautogui.PAUSE = 0.3

pyautogui.click(应用坐标)

for i in range(0,m):

一行数据=data.loc[i] # 选择某一行数据

# print(一行数据)

输入(数据输入坐标1,0,一行数据) # 选择第1个数据

输入(数据输入坐标2,1,一行数据) # 选择第2个数据

输入(数据输入坐标3,2,一行数据) # 选择第3个数据

输入(数据输入坐标4,3,一行数据)

pyautogui.click(按钮坐标)

main ()

下载链接:

大于100M,蓝奏云不能上传了

链接: https://pan.baidu.com/s/1780NStS05qbkQ_qeFZ6LyQ 提取码: h2gj 复制这段内容后打开百度网盘手机App,操作更方便哦

链接:https://pan.xunlei.com/s/VMOMPbXY5IbSVKKozzxIUJmXA1 提取码:jh5d

补充:

以下是我用Notion整理的关于pandas模块的笔记,欢迎指导!

https://www.notion.so/Pandas-64b1f4e594304fb2bc7450ebd8aa4385

image.png (456.29 KB, 下载次数: 0)

2020-12-12 23:03 上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值