1、应用场景:
有大量源数据(保存在Excel表格中)需要逐个进行筛查(在第三方平台接口进行查询)。
2、场景举例:
由于学生无法上网,老师需要帮助上百名同学在第三方平台查询考试成绩。平台无法批量导入查询,只能逐个输入查询。
3、常规操作步骤:
从excel表格复制一个源数据,然后粘贴到第三方平台输入口,然后点击查询,获取查询结果。
4、常规操作的问题:
频繁切换窗口从excel中单元格中复制数据比较繁琐,此动作是重复规律性的,可以通过程序简化,提高效率。
5、Python程序代码功能:
指定excel表格中特定的列数据,程序后台进行复制操作,并放到剪切板;每处理一个数据,点击ENTER确认后,直接自动复制下一个数据到剪切板。
6、程序运行图示:剪切板依次复制粘贴
7、代码演示:
# -*- coding:utf-8 -*-
import win32con,xlrd
import win32clipboard as wincld
def setCopy(content):
result_text = content.strip()
wincld.OpenClipboard()
wincld.EmptyClipboard()
wincld.SetClipboardData(win32con.CF_UNICODETEXT, result_text)
wincld.CloseClipboard()
def get_xlsdata(path):
try:
data = xlrd.open_workbook(path)#打开需要读取的excel表
return data
except Exception as e:
print('Warning:表格配置数据读取出错!')
with open('error.txt','a') as code:
code.write("get_xlsdata()出错:" + str(e)+"\n\n")
return ''
if __name__ == '__main__':
try:
datas = get_xlsdata(input('\n参数1-->请输入表格文件名称,包含后缀: '))
liehao = int(input('\n参数2-->请输入需要获取数据列号,整数: ')) - 1
print('\n\n 程序已经开始运行,数据依次复制进行中...\n\n')
data_all = datas.sheets()[0]
for data in range(data_all.nrows):
content = data_all.row_values(data)[liehao].strip()
setCopy(content)
print(data + 1,data_all.row_values(data),'已复制到剪切板!请粘贴后按ENTER键继续。')
input()
print('程序已经执行完成,请点击ENTER结束,谢谢!')
except Exception as e:
print('程序出错,已结束运行!请查看error文件确认错误原因。')
with open('error.txt','a') as code:
code.write('\n' + str(e) + '\n')