APP下载

基于Python中xlrd、xlwt模块的课程教学设计

2022-02-17李冠璟,张楚

电脑知识与技术 2022年35期
关键词:会计学

李冠璟,张楚

摘要:自从2020年开启人工智能时代,编程启蒙教育,在高校的会计学专业的受重视程度越来越高。为了非编程类会计学专业的学生,能够适应财务大数据时代。高校设立了财务大数据实验室,以Python编程语言为引领。文章介绍了基于Python中xlrd、xlwt模块为基础,通过先学习xlrd模块库与xlwt模块库,从而调动学生兴趣的同时,也能够为后续的财务大数据应用课程中的爬虫部分的学习奠定根基,帮助课程顺利开展。

关键词:Python;编程教育;xlrd;xlwt;会计学

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2022)35-0135-04

1 引言

自计算机诞生以来,财务会计一直都紧跟时代的脚步,与时俱进。从传统的由人实行手工做账和手动计算,慢慢演变成利用各类财务会计软件,简洁快速地对财务信息进行整理、分筛、储存、核对、审核,达到无纸化、标准化、格式化、统一化的信息管理。

随着大数据时代的到来,财务会计的数据需要处理的数据与日俱增,数据的发掘与批量筛选处理。对于财务会计来说,面对海量的数据,要求从事会计专业的专职人员如何收集规模数据、整理有效数据、拆分需求数据、分析筛选数据、利用获得数据,并将这些数据进行整合、归纳、配置,是会计从业人员面临的新的挑战。

以学生未来发展为中心,是世界高等教育共同的理念。为了学生能够进入社会后,更好地适应新的时代,掌握新的社会发展方向。高校的会计学专业相继引入《财务大数据》课程,希望能够通过新模式的学习,让学生接触到计算思维。新版的计算课程标准,是将计算思维解读为使用计算机科学领域的思维方式,用来解决现有存在的问题,达到更高效,更全面[1]。

高校希望通过会计专业的Python编程教育方式,来实施面向会计学专业学生的计算思维的教学,以此来激发学生学习热情,适时互动,活跃课堂气氛,师生之间、生生之间开展有效的讨论与交流。

2 课程的教学困境

2.1 非编程专业授课难点

在以往历年经验来看,各高校在教学实践中,会计学专业的学生接受纯代码的编程课程能力有限,纯代码的授课编程在传统的会计课堂中非常难以开展,同时授课课时的限制和非编程专业的教授难度常常会让教师花费过多的時间复习旧知。这样不但让基础差异较大的学生无法充分参与到财务大数据分析的核心知识中,反而降低会计学专业学生对编程学习的兴趣与进取心。课程授课教师,在编排《财务大数据》课程时,也对应面临巨大课时压力,无法既要兼顾学生,又要符合学校课时时限要求。

2.2  Python知识授课问题

传统的Python编程教学,是先从Python的基础语法开始教授。这些基础语法教学,在面对非编程类的会计学学生来说,是知识枯燥乏味,是编程练习脱离实际。授课的教师,为了全面介绍Python,往往一股脑地将Python基础中的变量、函数、列表、字典、类等等,一下子讲解给学生听,希望其能够快速入门Python这门语言,完成会计专业与Python编程语言的融会贯通,最终实现学校预想目的,即财务会计大数据化。

可是在现实情况中,会计学专业的学生,在接受填鸭子式的Python基础课程学习后,仍然一知半解,甚至对于Python的认识,还停留在数字表达式的使用阶段,无法到达函数的合理运用层面。

3 课程教学解决方案

3.1 合理的Python模块库选择

众所周知,Python的标准模块库非常庞大,所提供的组件涉及范围也十分广阔[2]。选择实用性强,语法简易的Python模块库,用来教学示范,能够让教学质量提升的同时,学生也能较快地理解如何正常使用Python编程语言。

数据处理是会计学专业工作中,必定接触到的内容。同时,数据处理也是Python编程语言的一大应用场景。Excel工作簿作为目前世界最流行的数据处理软件,在会计学专业中,具有举足轻重的地位。

那么在Python模块库中,寻找适合的模块库来操控Excel工作簿,实现智能化办公[3]。这个模块库还要兼顾着启蒙非编程类会计学专业学生的Python基础入门和掌握的重任。

在遍历众多Python标准模块库中,xlrd模块和xlwt模块,这两个模块就具备Python启蒙教育的效果[4-5]。xlrd模块,能够对xls、xlsx、xlsm文件进行读操作,读操作效率较高,受到广大Python使用者的推荐。xlwt模块,对xls文件进行写操作,其写操作效率较高,一般与xlrd模块同时使用。

xlrd模块和xlwt模块,在课程环节里面,通过逐层递进地讲授模块功能方式,将Python基础知识容纳进课程环节中。学生在接受Python基础知识的同时,更加能够如何使用,更加透彻地理解Python基础知识,为后面的Python爬虫奠定牢固的基础[6-8]。

3.2  xlrd模块与xlwt模块的《零食消费统计表》课程设计

3.2.1 课程内容

《零食消费统计表》课程设计里面,包含的Python基础内容:(1)Python的模块导入;(2)Python的注释;(3)Python的变量类型;(4)Python的字符串;(5)Python的算术运算符;(6)Python的条件语句;(7)Python的for循环语句;(8)Python的循环嵌套。

3.2.2 课程目的

通过xlrd模块与xlwt模块的《零食消费统计表》课程,让会计专业的学生,在一定程度上了解Python语言,懂得Python语言是如何使用。促进会计专业的学生,掌握Python中xlrd模块与xlwt模块,是如何与办公软件Excel工作簿协同使用,带给会计专业学生更强大的生活技能和更好地适应社会节奏。同时在《零食消费统计表》课程结束后,会计学专业的学生已经学会通过xlrd模块与xlwt模块,调用Excel工作簿,来实现初步课程想要的达到的效果,这样可以更加直观地使学生有了学习Python的自信心与动力。

这门课程也可以让Python基础知识浅显易懂地展现在学生面前,为后面更加难的财务大数据爬虫课程,奠定坚实的基础。

3.2.3 课程流程

① 《零食消费统计表》的制定

按照需求,自己首先制定一份Excel工作簿,内容如表1所示。用来给接下的课程做准备。Excel工作簿内Sheet表格的行索引有学生姓名和1-12月份。

《零食消费统计表》的Sheet表内详细记录了每位学生,1-12月分别花费在零食上的金额。

在学生制作《零食消费统计表》Excel工作簿的过程中,会发现Excel工作簿有两种格式,分别是“xls”格式和“xlsx”格式。

“xls”格式和“xlsx”格式,都是Excel工作簿的标准格式。这两者的区别在于,“xls”格式是内部核心构造是复核文档类型,在Excel2003及较早版本都能够生成这样的格式。“xlsx”格式是基于XML类型所构造,占比内存空间小,在Excel2007及之后所生成的文件格式。

授课老师可以在学生制作《零食消费统计表》Excel工作簿时候,将“xls”格式和“xlsx”格式,两者的区别,分析给学生,让对Excel工作簿未熟悉的学生,能够进一步了解Excel工作簿。

授课老师着重叮嘱学生,在使用Python中xlrd模块与xlwt模块,制作自己Excel工作簿的时候,要使用“xls”格式。因为Python中xlrd模块与xlwt模块,目前只是兼容“xls”格式,而不兼容“xlsx”格式。一旦学生使用“xlsx”格式建立Excel工作簿,程序会报错,导致无法运行,影响课程进度。

达到教学效果:让学生了解到Excel工作簿有两种格式,分别是“xls”格式和“xlsx”格式,讲述“xls”格式和“xlsx”格式的两者之间区别。同时,令学生知悉,Python中xlrd模块与xlwt模块对Excel工作簿格式的要求。

② 模块库的导入

模块实际上是以.py为结尾的文件。Python模块可以将代码量较大的程序,人为地分割成多个有组织的、彼此独立但又能够相互交互的代码片段。这些自我包含,有组织,有层次的代码段就是模块。

模块内部通过类方式封装了很多实用的功能,xlrd模块与xlwt模块,这两个模块都是在外部调用的模块,需要在程序内进行导入。导入模块简单划分有两种,分别是(1)import 模块名;(2)from 模块名 import 功能名。

这里需要导入的模块是xlrd模块与xlwt模块,如图1所示。

达到教学效果:

让学生了解到Python的注释的对编程的帮助效果,通过注写第一行Python注释,开启学生学习xlrd模块与xlwt模块的篇章。令学生知悉Python的模块是能够通过‘import执行语句进行导入,在导入模块时只能使用模块名,而不能使用带‘.py后缀的模块文件名称。同时学生执行‘import语句,导入模块后,出现模块并没有点亮的情况。授课教师借此机会,向学生说明,模块虽然导入,但是并没有开始编程引用。只要接下来,按照课程指引,编写课程代码,就能够引用模块,点亮。

③ 读取和新建Excel工作簿

使用xlrd模块读取Excel工作簿,需要用到函数open_workbook方法和函数sheet_by_name方法。这涉及需要给打开的Excel工作簿定义变量名。

在Python中,变量在编程使用的时候,都必须给变量通过等号赋值。变量赋值以后,该变量才能被创建,通过等号(=)用来给变量赋值。等号(=)左边是一个变量名,等号(=)右边是储存在变量中的值。

变量命名可以是英文,也可以是中文。以下两种命名方式都是能够定义变量,如图2和图3所示。

使用xlwt模块新建Excel工作簿和工作表,需要用到函数Workbook方法和函数add_sheet方法。通过xlwt模块,新建Excel工作簿和工作表,接着需要给新建Sheet工作表命名名称,Sheet工作表命名要使用字符串命名,如图4所示。

Python的字符串是 Python 中最常用的数据类型,需要使用单引号( ' )或双引号( " )来创建字符串。

達到教学效果:让学生了解到Python的变量类型分别有英文变量名和中文变量名,使用两种变量名的效果是一致的。令学生知悉Python的字符串,需要使用单引号( ' )或双引号( " )来创建。同时使学生明白,赋值的含义。正确地给Python变量进行赋值,为后续的编程完善具有重要意义。

④ 求算《零食消费统计表》中每位学生零食花费情况

这里用到Python的运算符、Python的for循环语句以及Python循环嵌套。Python的算术运算符参数,如表2所示:

Python的for循环是指将元素从储存的地方,一个个遍历出来,可以遍历任何序列的项目,可以是列表、字典、字符串等。Python的for循环可以单独出现,也可以作为Python的循环嵌套的一种表达方式出现。在该课程里面,是作为Python的循环嵌套的一种表达方式出现。

通过使用Python的for循环嵌套,逐个遍历每位学生,再遍历每位学生的1-12月份,如图5所示。接着将获取到的每位学生的每月零食消费额度,通过Python算术运算符的加法方式,累加1-12月份的金额,从而求算出每位学生消费总额度。

学生通过学习Python的for循环嵌套,掌握执行Python中for循环代码的分支循环,让特定代码重复执行。在以后的日常生活中,可以使用类似的方法,解决会计内重复计算工作,减轻会计工作量,使会计更加高效。

达到教学效果:让学生了解到Python的算术运算符、Python的for循环语句以及Python循环嵌套。尤其是Python的for循环语句,在Python基础教学中,具备着举足轻重的地位,能够让学生清晰Python中for循环语句的使用方法。

⑤ 将求和写入到Sheet工作表

通过Python的加法运算,求和得出每位同学1-12月的零食消费总额度(subtotal)。这些零食消费总额度,是暂时存储在电脑内存中,并没有写入到Sheet工作表中,如图6所示。

xlwt是Python中往Excel工作簿中写入数据的模块,xlwt模块的函数write方法,能够向Excel工作簿内的Sheet工作表中添加数据并保存,利用xlwt模块的函数write方法,将获取到的每位同学姓名、总月份、零食消费总额度,写入到对应的Sheet工作表格中。

接着,我们需要给已经写入到Sheet工作表的同学姓名、总月份、零食消费总额度,添加列索引,使其看起来更加符合日常人们使用规范,如图7。

通过上述方式,最后获得的Sheet工作表的内容,如表3所示:

达到教学效果:让学生了解到Python的xlwt模块内函数write使用方式,知悉xlwt模块的函数write是如何对应Sheet工作表的行与列。Python的xlwt模块内函数write的知识点讲解,是不可忽视的课程节点。

⑥ 保存制作好的工作簿

最后,我们将制作好的Sheet工作表,保存到我们指定的目录,如图8所示。一般情况下,是保存在当前Python文件夹下,将文件保存为“统计表.xls”。

达到教学效果:让学生了解Python的当前文件夹下的路径,是指学生自己指定新建的‘.py的文件夹内。Python编程语言,很多时候,都直接使用‘当前Python文件夹,作为第一保存路径。这样既能够很好地运行编写好的Python程序,又可以减少学生对复杂的路径指引困扰。使课程做到简单化、清晰化、效益化的作用。

通过学生直观地感受编程带来的乐趣,让学生活用活现地运用Python的xlrd模块与xlwt模块,制作出自己第一份Python编程的Excel统计表格,明白了原来编程也可以如此轻松简单。

4 结语

本文针对学校内财务大数据实验室的Python编程语言基础的真实教学情况进行研究,通过调查问卷的方式,从授课班级中随机收集50名会计学专业学生的Python编程知识学习情况,从客观、科学的角度挖掘出,存在于非编程类会计学专业的学生学习中的问题,并结合学校会计学专业具体情况,提出实际教学情况,因材施教,向学生给予合理化建议,方案。

本文通过xlrd模块与xlwt模块的《零食消费统计表》案例分析,希望能让学生体会到知识学习有价值目标。Python的知识学习,要与实践操作相结合才能会发最大效益。会计学专业的学生在课程教学过程中,通过完成任务,形成一定程度的Python编程能力。而能力的形成,即是Python知识课程教学的最终目的,也是检验学校教学质量的关键因素。

本文只用不到20行的核心代码,就实现了Python编程与办公软件Excel工作簿的结合操作。既能让学生体会到代码的美妙之处,也能使学生掌握基本的Python基础知识。不但识记和理解了Python基础知识,而且掌握了探索Python编程知识的方法和手段,形成一种科学的态度和探索方向。最终从心理上突破自我,不再被看起来高大上的编程学习所困惑,领悟到自己也可以掌握Python编程,实现智能化,实现自我的提升。

参考文献:

[1] 岳彦龙,张学军,梁屿藩.人工智能教学如何培养高中生的计算思维?——基于人工智能案例驅动的Python编程教学的实证研究[J].基础教育,2022,19(1):74-84.

[2] Al Sweigart. Python编程快速上手让烦琐工作自动化[M]. 王海鹏 译.北京:人民邮电出版社,2016.

[3] 徐小静.Python在项目状态审核管理领域的应用[J].办公自动化,2022,27(6):59-61.

[4] 杨宏楼,李心茹.Python在高校后勤服务育人数据收集中的应用[J].电脑编程技巧与维护,2021(10):72-74.

[5] 葛书荣.基于Python语言编程特点及应用之探讨[J].网络安全技术与应用,2021(10):37-38.

[6] 肖旻,陈行.基于Python语言编程特点及应用之探讨[J].电脑知识与技术,2014,10(34):8177-8178.

[7] 蒋宏潮,鲍伟.高校后勤信息化建设对策研究[J].中国教育信息化,2012(23):27-29.

[8] 郭颖颖,刘丽云.移动互联网时代高校后勤服务信息化建设探究[J].中国管理信息化,2015,18(10):65.

【通联编辑:王力】

猜你喜欢

会计学
2018年全国新增会计学教授、副教授名录
2016年全国新增会计学教授、副教授名录
会计学专业应用型人才培养模式的创新对策
会计学教学模式改革及平台建设研究
中国会计学会2015年学术年会在哈尔滨隆重召开
湖南省教育会计学会第四次会员代表大会顺利召开