[Python][RPA]办公自动,根据成绩汇总表生成每个学生成绩单 |
您所在的位置:网站首页 › excel学生成绩分类汇总表 › [Python][RPA]办公自动,根据成绩汇总表生成每个学生成绩单 |
背景
根据学生成绩汇总表,生成每个学生的成绩单,假设一个高校有5000人,需要生成5000份成绩单,每个成绩单如果有10个数据,这就是50000个数据,而且单条数据规律性低,如果通过人工生成所有学生成绩单将是一个重复性高、数据量大、技术含量低的场景;借助工具,既能速度快、准确率高,还能降低人力成本浪费; 所需文件及其布局:文件解读: result文件夹:用于存放生成每个学生的成绩单; demo1.py : 可以执行的文件; xx大学成绩汇总.xls:成绩表包含着每个学生的成绩及其他信息; 成绩单demo.docx:成绩单的模板; 文件内容xx大学成绩汇总.xls 成绩单demo.docx 全部代码: import xlrd from mailmerge import MailMerge from datetime import datetime # 按行读取数据 def read_excel(path): # 打开工作薄 workbook = xlrd.open_workbook(path) # 获取第一个sheet表格 table = workbook.sheets()[0] # 获取行数 rows = table.nrows # 循环获取每行的数据 row_datas = [] for row in range(1, rows): row_data = table.row_values(rowx=row, start_colx=0, end_colx=None) row_datas.append(row_data) return row_datas def gen_doc(template, infos): for info in infos: print(f"正在处理:{str(info[0])}") document = MailMerge(template) document.merge(name=str(info[0]), sex=str(info[1]), id=str(info[2])[:-2], addr=str(info[3]), zz=str(info[4]), sx=str(info[5]), yy=str(info[6]), date=str(datetime.now().date())) document.write('./result/XX大学学生成绩单' + info[0] + '.docx') if __name__ == '__main__': print("start") path_excel = r'xx大学成绩汇总.xls' template = '成绩单demo.docx' infos = read_excel(path_excel) gen_doc(template, infos) print("end")结果: 内容: |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |