Python作为一种学习门槛低、简洁并且编码效率高的热门编程语言,在很多行业都有广泛的应用。在自动化办公领域,掌握一点Python知识就能够把或复杂或繁琐的工作交由计算机自动处理,堪称解放劳动力的利器。

       很多人一谈编程就心有顾虑,觉得自己计算机水平低,肯定当不了“码农”。其实Python有非常多非常棒的第三方库,有时候几行代码就能够实现设想的功能。

       下面将以自动组卷软件为例,一起探讨Python在自动化办公领域的应用。

       一、 Python基本要求。

       Python作为一种非常简洁且简单的编程语言,要实现自动化办公只需要掌握基本的语法(数据类型,运算符,条件控制语句,循环语句)即可。因为一般代码比较简单,所以不需要考虑运行效率、代码复用等因素,只需要实现预定功能即可。这些知识,通常有一点点编程基础的人,大概一周左右的时间即可掌握。如果有余力,可以在深入一点学习类、函数等知识。

pythondocx 编号_图形界面

       二、 功能分析

       接下来第二步就是分析我们要实现的功能。要实现自动组卷,就是将Excel题库中的题随机抽取,再复制到word中去。这时候看起来非常复杂,其实可以借助第三方库来实现功能。我们要考虑的时分析题库的结构,让计算机能够自动识别题型、模块,并将答案和题分开写入到word中去,并且自动优化生成的试卷格式,尽量减少检查者的工作。为了使计算机易于识别,我们应该先对题库做一些格式上的规范。功能分析其实也是软件逻辑设计的过程。

       三、 Excel自动化

       从excel中提取题,可以借助xlrd这个强大的库。xlrd可以实现对excel文件的读取,包括表名、单元格数据、合并单元格数等。我们要做的工作就是根据输入的信息,选择对应的题库题目,将表格数据转化为题干、选项和答案分别存储备用。

pythondocx 编号_图形界面

        四、 Word自动化

       Python处理word的第三方库有python-docx和docxtpl。前者用于新建或写入docx文件,后者通常用于docx文件特定内容的替换。这里我们为了便于格式的调整,利用现有模板写入新的数据。注意要将答案写入另一个文件,我们也是建立一个answer.docx的答案模板。利用word中样式这一功能,我们只要修改模板中的样式就能够控制输出文件的格式。

       五、 图形界面

       到了这一步,如果是编码者自己使用,可以不需要图形界面,但如果提供给他人使用,甚至是没有Python环境的人员使用,为了便于使用,需要提供一个简单易懂的图形界面并打包为可执行文件。Python中个人觉得简单且功能强大的GUI库非PyQt5莫属。PyQt5提供了大量的控件,编码也较为简单,非常适合编写图形界面。其实也可以先根据功能分析,先编写图形界面框架,也有助于第三步第四步功能的完善。

       六、 迭代

       如果已经完成了第五步并经过了简单测试,那就可以发布你的作品了。请记住,现实和理想的差距,你会发现总是有各种各样的bug和不断增加的新需求。为了便于维护,要养成及时编写注释的好习惯。以组卷软件为例,在发布后发现题库格式没有统一、xlsx文件单元格格式非文本,用户也提出了许多新的功能。如果能在数据源形式大体一致,那就尽量修改题库,将其统一成固定格式;如果修改工作量非常大,那就用代码去适应题库。总之,产品发布后的维护工作也是非常重要的,如有必要可以持续迭代改进。

pythondocx 编号_word 流水号 自动增加_03

pythondocx 编号_图形界面_04

       1、编码过程中出现各种奇怪的问题都是非常正常的,要相信你的问题也是别人的问题,所以搜索引擎是一个非常重要非常有效的解决问题的途径。善用网络搜索,让编码变得更为轻松。

       2、后续学习可以增加面向对象、函数方法等内容。

       3、代码不能够完全代替人的工作。在某些复杂环境下,代码可能会出现错误,对于重要的工作,人工检查仍然是不可替代的。