李冠璟,張楚
摘要:自從2020年開啟人工智能時代,編程啟蒙教育,在高校的會計學專業(yè)的受重視程度越來越高。為了非編程類會計學專業(yè)的學生,能夠適應財務大數(shù)據時代。高校設立了財務大數(shù)據實驗室,以Python編程語言為引領。文章介紹了基于Python中xlrd、xlwt模塊為基礎,通過先學習xlrd模塊庫與xlwt模塊庫,從而調動學生興趣的同時,也能夠為后續(xù)的財務大數(shù)據應用課程中的爬蟲部分的學習奠定根基,幫助課程順利開展。
關鍵詞:Python;編程教育;xlrd;xlwt;會計學
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)35-0135-04
1 引言
自計算機誕生以來,財務會計一直都緊跟時代的腳步,與時俱進。從傳統(tǒng)的由人實行手工做賬和手動計算,慢慢演變成利用各類財務會計軟件,簡潔快速地對財務信息進行整理、分篩、儲存、核對、審核,達到無紙化、標準化、格式化、統(tǒng)一化的信息管理。
隨著大數(shù)據時代的到來,財務會計的數(shù)據需要處理的數(shù)據與日俱增,數(shù)據的發(fā)掘與批量篩選處理。對于財務會計來說,面對海量的數(shù)據,要求從事會計專業(yè)的專職人員如何收集規(guī)模數(shù)據、整理有效數(shù)據、拆分需求數(shù)據、分析篩選數(shù)據、利用獲得數(shù)據,并將這些數(shù)據進行整合、歸納、配置,是會計從業(yè)人員面臨的新的挑戰(zhàn)。
以學生未來發(fā)展為中心,是世界高等教育共同的理念。為了學生能夠進入社會后,更好地適應新的時代,掌握新的社會發(fā)展方向。高校的會計學專業(yè)相繼引入《財務大數(shù)據》課程,希望能夠通過新模式的學習,讓學生接觸到計算思維。新版的計算課程標準,是將計算思維解讀為使用計算機科學領域的思維方式,用來解決現(xiàn)有存在的問題,達到更高效,更全面[1]。
高校希望通過會計專業(yè)的Python編程教育方式,來實施面向會計學專業(yè)學生的計算思維的教學,以此來激發(fā)學生學習熱情,適時互動,活躍課堂氣氛,師生之間、生生之間開展有效的討論與交流。
2 課程的教學困境
2.1 非編程專業(yè)授課難點
在以往歷年經驗來看,各高校在教學實踐中,會計學專業(yè)的學生接受純代碼的編程課程能力有限,純代碼的授課編程在傳統(tǒng)的會計課堂中非常難以開展,同時授課課時的限制和非編程專業(yè)的教授難度常常會讓教師花費過多的時間復習舊知。這樣不但讓基礎差異較大的學生無法充分參與到財務大數(shù)據分析的核心知識中,反而降低會計學專業(yè)學生對編程學習的興趣與進取心。課程授課教師,在編排《財務大數(shù)據》課程時,也對應面臨巨大課時壓力,無法既要兼顧學生,又要符合學校課時時限要求。
2.2? Python知識授課問題
傳統(tǒng)的Python編程教學,是先從Python的基礎語法開始教授。這些基礎語法教學,在面對非編程類的會計學學生來說,是知識枯燥乏味,是編程練習脫離實際。授課的教師,為了全面介紹Python,往往一股腦地將Python基礎中的變量、函數(shù)、列表、字典、類等等,一下子講解給學生聽,希望其能夠快速入門Python這門語言,完成會計專業(yè)與Python編程語言的融會貫通,最終實現(xiàn)學校預想目的,即財務會計大數(shù)據化。
可是在現(xiàn)實情況中,會計學專業(yè)的學生,在接受填鴨子式的Python基礎課程學習后,仍然一知半解,甚至對于Python的認識,還停留在數(shù)字表達式的使用階段,無法到達函數(shù)的合理運用層面。
3 課程教學解決方案
3.1 合理的Python模塊庫選擇
眾所周知,Python的標準模塊庫非常龐大,所提供的組件涉及范圍也十分廣闊[2]。選擇實用性強,語法簡易的Python模塊庫,用來教學示范,能夠讓教學質量提升的同時,學生也能較快地理解如何正常使用Python編程語言。
數(shù)據處理是會計學專業(yè)工作中,必定接觸到的內容。同時,數(shù)據處理也是Python編程語言的一大應用場景。Excel工作簿作為目前世界最流行的數(shù)據處理軟件,在會計學專業(yè)中,具有舉足輕重的地位。
那么在Python模塊庫中,尋找適合的模塊庫來操控Excel工作簿,實現(xiàn)智能化辦公[3]。這個模塊庫還要兼顧著啟蒙非編程類會計學專業(yè)學生的Python基礎入門和掌握的重任。
在遍歷眾多Python標準模塊庫中,xlrd模塊和xlwt模塊,這兩個模塊就具備Python啟蒙教育的效果[4-5]。xlrd模塊,能夠對xls、xlsx、xlsm文件進行讀操作,讀操作效率較高,受到廣大Python使用者的推薦。xlwt模塊,對xls文件進行寫操作,其寫操作效率較高,一般與xlrd模塊同時使用。
xlrd模塊和xlwt模塊,在課程環(huán)節(jié)里面,通過逐層遞進地講授模塊功能方式,將Python基礎知識容納進課程環(huán)節(jié)中。學生在接受Python基礎知識的同時,更加能夠如何使用,更加透徹地理解Python基礎知識,為后面的Python爬蟲奠定牢固的基礎[6-8]。
3.2? xlrd模塊與xlwt模塊的《零食消費統(tǒng)計表》課程設計
3.2.1 課程內容
《零食消費統(tǒng)計表》課程設計里面,包含的Python基礎內容:(1)Python的模塊導入;(2)Python的注釋;(3)Python的變量類型;(4)Python的字符串;(5)Python的算術運算符;(6)Python的條件語句;(7)Python的for循環(huán)語句;(8)Python的循環(huán)嵌套。
3.2.2 課程目的
通過xlrd模塊與xlwt模塊的《零食消費統(tǒng)計表》課程,讓會計專業(yè)的學生,在一定程度上了解Python語言,懂得Python語言是如何使用。促進會計專業(yè)的學生,掌握Python中xlrd模塊與xlwt模塊,是如何與辦公軟件Excel工作簿協(xié)同使用,帶給會計專業(yè)學生更強大的生活技能和更好地適應社會節(jié)奏。同時在《零食消費統(tǒng)計表》課程結束后,會計學專業(yè)的學生已經學會通過xlrd模塊與xlwt模塊,調用Excel工作簿,來實現(xiàn)初步課程想要的達到的效果,這樣可以更加直觀地使學生有了學習Python的自信心與動力。
這門課程也可以讓Python基礎知識淺顯易懂地展現(xiàn)在學生面前,為后面更加難的財務大數(shù)據爬蟲課程,奠定堅實的基礎。
3.2.3 課程流程
① 《零食消費統(tǒng)計表》的制定
按照需求,自己首先制定一份Excel工作簿,內容如表1所示。用來給接下的課程做準備。Excel工作簿內Sheet表格的行索引有學生姓名和1-12月份。
《零食消費統(tǒng)計表》的Sheet表內詳細記錄了每位學生,1-12月分別花費在零食上的金額。
在學生制作《零食消費統(tǒng)計表》Excel工作簿的過程中,會發(fā)現(xiàn)Excel工作簿有兩種格式,分別是“xls”格式和“xlsx”格式。
“xls”格式和“xlsx”格式,都是Excel工作簿的標準格式。這兩者的區(qū)別在于,“xls”格式是內部核心構造是復核文檔類型,在Excel2003及較早版本都能夠生成這樣的格式?!皒lsx”格式是基于XML類型所構造,占比內存空間小,在Excel2007及之后所生成的文件格式。
授課老師可以在學生制作《零食消費統(tǒng)計表》Excel工作簿時候,將“xls”格式和“xlsx”格式,兩者的區(qū)別,分析給學生,讓對Excel工作簿未熟悉的學生,能夠進一步了解Excel工作簿。
授課老師著重叮囑學生,在使用Python中xlrd模塊與xlwt模塊,制作自己Excel工作簿的時候,要使用“xls”格式。因為Python中xlrd模塊與xlwt模塊,目前只是兼容“xls”格式,而不兼容“xlsx”格式。一旦學生使用“xlsx”格式建立Excel工作簿,程序會報錯,導致無法運行,影響課程進度。
達到教學效果:讓學生了解到Excel工作簿有兩種格式,分別是“xls”格式和“xlsx”格式,講述“xls”格式和“xlsx”格式的兩者之間區(qū)別。同時,令學生知悉,Python中xlrd模塊與xlwt模塊對Excel工作簿格式的要求。
② 模塊庫的導入
模塊實際上是以.py為結尾的文件。Python模塊可以將代碼量較大的程序,人為地分割成多個有組織的、彼此獨立但又能夠相互交互的代碼片段。這些自我包含,有組織,有層次的代碼段就是模塊。
模塊內部通過類方式封裝了很多實用的功能,xlrd模塊與xlwt模塊,這兩個模塊都是在外部調用的模塊,需要在程序內進行導入。導入模塊簡單劃分有兩種,分別是(1)import 模塊名;(2)from 模塊名 import 功能名。
這里需要導入的模塊是xlrd模塊與xlwt模塊,如圖1所示。
達到教學效果:
讓學生了解到Python的注釋的對編程的幫助效果,通過注寫第一行Python注釋,開啟學生學習xlrd模塊與xlwt模塊的篇章。令學生知悉Python的模塊是能夠通過‘import執(zhí)行語句進行導入,在導入模塊時只能使用模塊名,而不能使用帶‘.py后綴的模塊文件名稱。同時學生執(zhí)行‘import語句,導入模塊后,出現(xiàn)模塊并沒有點亮的情況。授課教師借此機會,向學生說明,模塊雖然導入,但是并沒有開始編程引用。只要接下來,按照課程指引,編寫課程代碼,就能夠引用模塊,點亮。
③ 讀取和新建Excel工作簿
使用xlrd模塊讀取Excel工作簿,需要用到函數(shù)open_workbook方法和函數(shù)sheet_by_name方法。這涉及需要給打開的Excel工作簿定義變量名。
在Python中,變量在編程使用的時候,都必須給變量通過等號賦值。變量賦值以后,該變量才能被創(chuàng)建,通過等號(=)用來給變量賦值。等號(=)左邊是一個變量名,等號(=)右邊是儲存在變量中的值。
變量命名可以是英文,也可以是中文。以下兩種命名方式都是能夠定義變量,如圖2和圖3所示。
使用xlwt模塊新建Excel工作簿和工作表,需要用到函數(shù)Workbook方法和函數(shù)add_sheet方法。通過xlwt模塊,新建Excel工作簿和工作表,接著需要給新建Sheet工作表命名名稱,Sheet工作表命名要使用字符串命名,如圖4所示。
Python的字符串是 Python 中最常用的數(shù)據類型,需要使用單引號( ' )或雙引號( " )來創(chuàng)建字符串。
達到教學效果:讓學生了解到Python的變量類型分別有英文變量名和中文變量名,使用兩種變量名的效果是一致的。令學生知悉Python的字符串,需要使用單引號( ' )或雙引號( " )來創(chuàng)建。同時使學生明白,賦值的含義。正確地給Python變量進行賦值,為后續(xù)的編程完善具有重要意義。
④ 求算《零食消費統(tǒng)計表》中每位學生零食花費情況
這里用到Python的運算符、Python的for循環(huán)語句以及Python循環(huán)嵌套。Python的算術運算符參數(shù),如表2所示:
Python的for循環(huán)是指將元素從儲存的地方,一個個遍歷出來,可以遍歷任何序列的項目,可以是列表、字典、字符串等。Python的for循環(huán)可以單獨出現(xiàn),也可以作為Python的循環(huán)嵌套的一種表達方式出現(xiàn)。在該課程里面,是作為Python的循環(huán)嵌套的一種表達方式出現(xiàn)。
通過使用Python的for循環(huán)嵌套,逐個遍歷每位學生,再遍歷每位學生的1-12月份,如圖5所示。接著將獲取到的每位學生的每月零食消費額度,通過Python算術運算符的加法方式,累加1-12月份的金額,從而求算出每位學生消費總額度。
學生通過學習Python的for循環(huán)嵌套,掌握執(zhí)行Python中for循環(huán)代碼的分支循環(huán),讓特定代碼重復執(zhí)行。在以后的日常生活中,可以使用類似的方法,解決會計內重復計算工作,減輕會計工作量,使會計更加高效。
達到教學效果:讓學生了解到Python的算術運算符、Python的for循環(huán)語句以及Python循環(huán)嵌套。尤其是Python的for循環(huán)語句,在Python基礎教學中,具備著舉足輕重的地位,能夠讓學生清晰Python中for循環(huán)語句的使用方法。
⑤ 將求和寫入到Sheet工作表
通過Python的加法運算,求和得出每位同學1-12月的零食消費總額度(subtotal)。這些零食消費總額度,是暫時存儲在電腦內存中,并沒有寫入到Sheet工作表中,如圖6所示。
xlwt是Python中往Excel工作簿中寫入數(shù)據的模塊,xlwt模塊的函數(shù)write方法,能夠向Excel工作簿內的Sheet工作表中添加數(shù)據并保存,利用xlwt模塊的函數(shù)write方法,將獲取到的每位同學姓名、總月份、零食消費總額度,寫入到對應的Sheet工作表格中。
接著,我們需要給已經寫入到Sheet工作表的同學姓名、總月份、零食消費總額度,添加列索引,使其看起來更加符合日常人們使用規(guī)范,如圖7。
通過上述方式,最后獲得的Sheet工作表的內容,如表3所示:
達到教學效果:讓學生了解到Python的xlwt模塊內函數(shù)write使用方式,知悉xlwt模塊的函數(shù)write是如何對應Sheet工作表的行與列。Python的xlwt模塊內函數(shù)write的知識點講解,是不可忽視的課程節(jié)點。
⑥ 保存制作好的工作簿
最后,我們將制作好的Sheet工作表,保存到我們指定的目錄,如圖8所示。一般情況下,是保存在當前Python文件夾下,將文件保存為“統(tǒng)計表.xls”。
達到教學效果:讓學生了解Python的當前文件夾下的路徑,是指學生自己指定新建的‘.py的文件夾內。Python編程語言,很多時候,都直接使用‘當前Python文件夾,作為第一保存路徑。這樣既能夠很好地運行編寫好的Python程序,又可以減少學生對復雜的路徑指引困擾。使課程做到簡單化、清晰化、效益化的作用。
通過學生直觀地感受編程帶來的樂趣,讓學生活用活現(xiàn)地運用Python的xlrd模塊與xlwt模塊,制作出自己第一份Python編程的Excel統(tǒng)計表格,明白了原來編程也可以如此輕松簡單。
4 結語
本文針對學校內財務大數(shù)據實驗室的Python編程語言基礎的真實教學情況進行研究,通過調查問卷的方式,從授課班級中隨機收集50名會計學專業(yè)學生的Python編程知識學習情況,從客觀、科學的角度挖掘出,存在于非編程類會計學專業(yè)的學生學習中的問題,并結合學校會計學專業(yè)具體情況,提出實際教學情況,因材施教,向學生給予合理化建議,方案。
本文通過xlrd模塊與xlwt模塊的《零食消費統(tǒng)計表》案例分析,希望能讓學生體會到知識學習有價值目標。Python的知識學習,要與實踐操作相結合才能會發(fā)最大效益。會計學專業(yè)的學生在課程教學過程中,通過完成任務,形成一定程度的Python編程能力。而能力的形成,即是Python知識課程教學的最終目的,也是檢驗學校教學質量的關鍵因素。
本文只用不到20行的核心代碼,就實現(xiàn)了Python編程與辦公軟件Excel工作簿的結合操作。既能讓學生體會到代碼的美妙之處,也能使學生掌握基本的Python基礎知識。不但識記和理解了Python基礎知識,而且掌握了探索Python編程知識的方法和手段,形成一種科學的態(tài)度和探索方向。最終從心理上突破自我,不再被看起來高大上的編程學習所困惑,領悟到自己也可以掌握Python編程,實現(xiàn)智能化,實現(xiàn)自我的提升。
參考文獻:
[1] 岳彥龍,張學軍,梁嶼藩.人工智能教學如何培養(yǎng)高中生的計算思維?——基于人工智能案例驅動的Python編程教學的實證研究[J].基礎教育,2022,19(1):74-84.
[2] Al Sweigart. Python編程快速上手讓煩瑣工作自動化[M]. 王海鵬 譯.北京:人民郵電出版社,2016.
[3] 徐小靜.Python在項目狀態(tài)審核管理領域的應用[J].辦公自動化,2022,27(6):59-61.
[4] 楊宏樓,李心茹.Python在高校后勤服務育人數(shù)據收集中的應用[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] 郭穎穎,劉麗云.移動互聯(lián)網時代高校后勤服務信息化建設探究[J].中國管理信息化,2015,18(10):65.
【通聯(lián)編輯:王力】