轻松办公系列1:利用python自动收集培训人员名单
近期,领导让我组织全行培训,心中暗自叫苦不迭,心想,现在人手这边短缺,只有无穷无尽的工作,没有看得到的空闲。牢骚归牢骚,工作还要开展,领导让先收集全行报名信息,于是制订登记表,邮件上收回来了近百份文件,近百份文件手工合并,工作太无奈!人生无奈,我用python! 编个小程序自动采集吧。
单个数据表单如下(数据表单不复杂,问题是太多份,存放在同一目录下):
编程工具使用 Sublime Text ,这个工具小巧灵活,编写工具类的python代码非常合适。
使用的编程工具是python3.7。
1、编写一个遍历目录下全部文件的工具类:
在目录 /baseframe/file/新建python文件 filetool.py ,代码如下:
import osdef getAllFile():print(' this is a test 1')def getAllFile2():print(' this is a test 2')def get_filelist(dir):filelists=[]for home, dirs, files in os.walk(dir):for filename in files:if(filename[0]!='~'):filelists.append( os.path.join(home, filename))return filelistsdef get_split_filelist(dir):filelists=[]for home, dirs, files in os.walk(dir):for filename in files:filepath=(home,filename)filelists.append(filepath)return filelistsdef get_filename(dir):filelists=[]for home, dirs, files in os.walk(dir):for filename in files:filelists.append(filename)return filelists
2、编写合并数据文件的主程序:
原始数据文件统一存放在/office/excel/source/trainer目录下,合并后的数据文件新生成一个空白文件,存放在D:/result/alltrainer.xls
import xlrd
import xlwtfrom baseframe.file import filetool as fopath = "/office/excel/source/trainer"
fileList = fo.get_filelist(path)all_data=[]
id_finisthed=[]for filename in fileList:xlsx=xlrd.open_workbook(filename)table=xlsx.sheet_by_index(0)print(filename) #有一个分行使用的格式不正确for n in range(2, table.nrows):tno = table.cell(n, 1).valuetid = table.cell(n, 2).valuetname = table.cell(n, 3).valuetorg = table.cell(n, 4).valuedata = {'tno': tno, 'tid': tid, 'tname': tname,'torg':torg}all_data.append(data)print('原数据记录总数',len(all_data))new_wb=xlwt.Workbook()
newsheet=new_wb.add_sheet("new1")rowno=1
for i in range(len(all_data)):if(all_data[i]['tid']!="" and all_data[i]['tid']!="无" and all_data[i]['tid'] not in id_finisthed):#过滤员工号为空为无,根据员工号增加去重处理id_finisthed.append(all_data[i]['tid'])newsheet.write(rowno,1,rowno)newsheet.write(rowno,2,all_data[i]['tid'])newsheet.write(rowno,3,all_data[i]['tname'])newsheet.write(rowno,4,all_data[i]['torg'])rowno+=1
print('处理后记录总数',rowno-1)
new_wb.save('D:/result/alltrainer.xls')
以上是简单汇单,还有去重,套模板、数据合并,下回分解,更多精彩!
轻松办公系列1:利用python自动收集培训人员名单相关推荐
- 高效办公,如何利用Python自动发送邮件
自动发送邮件 我们把报表做出来以后一般都是需要发给别人查看,对于一些每天需要发的报表或者是需要一次发送多份的报表,这个时候可以考虑借助Python来自动发送邮件. 使用邮箱的第一步 一般我们在使用QQ ...
- 极速系列07—利用python将文件夹快速分类
我们有一个文件夹,里面嵌套文件夹+文件,我们想将这些文件分类整理清楚,如何快速分类呢? 思路:读取文件夹中的所有文件,按照我们要分类的标准,制定规则(一定要能找到分类的标准,比如按照年份.文件名.文件 ...
- 极速系列06—利用python批量发送邮件
python发邮件需要掌握两个模块:smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. 1 介绍 ...
- python mysql 遍历_Python自动化办公系列六(pdf文档处理)
PDF 表示 Portable Document Format,使用 .pdf 作为文件扩展名.虽然 PDF 支持许多功能,但现在我们专注于最常做的两件事:从 PDF 读取文本内容和从已有的文档生成新 ...
- Python开发工具系列1------基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具
Python开发工具系列1------ 基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具 业务场景介绍 工具介绍 关键功能实现 界面实现 主要业务功能实现 代码与工具 ...
- python爬去百度文库_利用Python语言轻松爬取数据[精品文档]
利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...
- python爬取百度文库_利用Python语言轻松爬取数据
利用 Python 语言轻松爬取数据 对于小白来说,爬虫可能是一件非常复杂. 技术门槛很高的事情. 比如有人认为学爬虫必须精通 Python ,然后哼哧哼哧系统学习 Python 的每个知识点,很久之 ...
- python编写sql注入工具-利用Python实现SQL注入 - Python黑客编程入门系列 - 8
{getUnitName} {getLessonName} 敬请期待 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTi ...
- 【python脚本系列】利用mido库解析midi文件
[python脚本系列]利用mido库解析midi文件 Hallo大家好~~我是Lampard猿奋 昨天写了关于Midi数字化乐器接口的文章,介绍了midi是一组代表音乐参数( ...
最新文章
- 技术图文:字典技术在求解算法题中的应用
- 如何实现对ELK各组件的监控?试试Metricbeat
- TFLearn 在给定模型精度时候提前终止训练
- sublime 插件
- make的自动变量和预定义变量
- JS语言的基本构成、变量、数据类型
- 正则表达式匹配(动规)
- Date() 小于等于当天
- 苹果收购英特尔手机芯片业务;西门子将在华建立 5G 研发中心;React Native 0.60.4 发布 | 极客头条...
- 【作业】条件、循环、函数定义、字符串操作练习
- jquery对象与js对象的相互转换
- 分布式事务之基础理论(CAP/BASE理论)篇
- saiku 展示优化第二步(要诀和技巧)
- 数据结构堆栈 内存堆栈_零堆栈数据科学家第二部分秋天
- 猿创征文 | 国产数据库之openGauss的单机主备部署及快速入门
- css和html制作网页
- 宿舍管理系统开发的总结与展望
- 关于在VS2022或者高级版本运行环境下遇到fopen,strerror等不安全的问题
- Mac上彻底卸载mysql
- 专业性体育平台——虎扑的发展与创新的思考(第五次课后作业)
热门文章
- GIS理论知识(二)之GIS标准、体系结构及平台软件
- 批量识别医疗票据【第1版】
- 【Photoshop_CC_2018】msvcr120.dll丢失及应用程序无法正常启动0xc000007b修复dll问题解决
- ssh: connect to host xx.xx.xxx.xxx port 22: Connection refused
- 我在公司干了一个月,办完辞职手续,被告知一个月后来领工资
- 视频跟踪学习——TLD
- Python写代码遇到的问题集锦
- cisco S3750交换机配置VLAN
- 思科C3750端口汇聚聚合
- PwC 普华永道面试归来