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