◆林鵬 孟硯怡/房縣審計局
大數(shù)據(jù)的運用給包括審計在內(nèi)的各行各業(yè)帶來了前所未有的機遇與挑戰(zhàn)。本文介紹大數(shù)據(jù)背景下,基于Python的數(shù)據(jù)分析算法在審計中的應(yīng)用,探索了一種整合Python代碼的方法,將審計人員使用的對數(shù)據(jù)進行整理、挖掘和分析的過程代碼化,通過整合匯總成一個控制臺,最后將Python語句打包成exe可執(zhí)行文件。此方法解決了Python入門門檻的問題,不會Python語言的審計人員,也可以使用Python語句快速分析數(shù)據(jù),提高審計效率。
Python作為一種簡潔、可擴展性強的面向?qū)ο蟮木幊陶Z言,已廣泛應(yīng)用于數(shù)據(jù)分析、文本處理等領(lǐng)域。采用Py?thon語言開發(fā)控制平臺,實現(xiàn)常用數(shù)據(jù)分析方法的匯集,為大數(shù)據(jù)分析提供更多更好的工具。程序主體分為兩個模塊:控制臺模塊和數(shù)據(jù)分析工具模塊。
在程序開始時,首先進入的是系統(tǒng)主界面,這里做了一個簡單的交互程序設(shè)計,顯示可選擇的功能菜單,可通過數(shù)字或上下方向鍵選擇菜單。Python的代碼匯總平臺如圖1。
圖1
首先,導(dǎo)入默認庫中的os類,利用os類中的input和re函數(shù),獲得使用者選項的過程代號。然后,將可用的Python語句封裝成過程,再使用一個循環(huán)語句,通過代號調(diào)用該過程,實現(xiàn)數(shù)據(jù)分析。代碼如圖2。
圖2
Python有豐富的擴展庫可用于完成各種高級任務(wù),為展示匯總平臺的有效性,本文使用Python進行編程,實現(xiàn)不打開excel文件,就可以對excel進行查看的功能。
首先,也是利用os模塊下的input函數(shù),對用戶輸入的文件地址進行處理,自動列出文件的全路徑和文件名。然后,通過選擇序號的方式選中要查看的excel文件。
從待查看的excel文件中獲取文件信息,首先,使用openpyxl庫打開文件。由于openpyxl不支持xls文件,在數(shù)據(jù)準備階段需要將舊版的xls文件全部轉(zhuǎn)換為后綴名為xl?sx的excel文件。然后,利用openpyxl庫中的load_workbook讀出文件的表名、行、字段等基本信息。最后,使用雙重循環(huán),遍歷文件中的前5行并打印。這樣就實現(xiàn)了在不打開表格的情況下查看數(shù)據(jù)的功能。
步驟一:將反復(fù)用到的代碼定義為一個函數(shù),使用處理后的返回值。這里定義了一個名為ch_one_file()的函數(shù),用于獲取文件的全路徑和文件名,得到的結(jié)果使用return()返回。如圖3。
圖3
步驟二:采用函數(shù)調(diào)用的方式使用代碼。調(diào)用ch_one_file()函數(shù)后,filename就是經(jīng)過處理后的文件的全路徑和文件名。如圖4。
圖4
步驟三:使用循環(huán)語句,打印界面給可調(diào)用的函數(shù)編號,方便用戶使用。如圖5。
圖5
通過Python語句處理excel,不需要考慮平臺、程序設(shè)計等方面的問題,同時,這種形式可以推廣到更多的Python代碼使用上。熟悉Python語句的審計人員,可以將日常收集到的代碼集合在后面,讓更好的經(jīng)驗被更多的人應(yīng)用。
在對某縣民政救助資金審計中,審計人員采集到的銀行發(fā)放花名冊是以月為單位存儲的。為了全面核對發(fā)放的人數(shù)和金額,審計人員需面對上百張結(jié)構(gòu)相同的excel文件。在利用數(shù)據(jù)分析技術(shù)前,對這些文件的匯總、統(tǒng)計是一項重復(fù)而且繁瑣的任務(wù)。因此,審計組利用平臺中匯總的處理excel的Python代碼,在不打開文件的情況下查看文件結(jié)構(gòu),并進行簡單處理。具體步驟如下:
步驟一:獲得銀行發(fā)放花名冊表格,將所有帶匯總的文檔集中到一個文件夾,在功能菜單中,輸入數(shù)字“1”,Py?thon調(diào)用函數(shù)insert(),將進入查看excel文件里表格信息的功能。如圖6。
步驟二:Python代碼將文件夾下的所有文件進行編號,使用者選擇編號就可以選擇文件,避免了人工輸入出現(xiàn)錯誤的情況。通過Python代碼就可以一次性查到整個文件夾下的所有excel文件結(jié)構(gòu)和前5行數(shù)據(jù)。如圖7。
圖7
Python具有腳本語言中最豐富和最強大的類庫,這些類庫覆蓋了文件輸入輸出、數(shù)據(jù)庫訪問、文本操作等絕大部分應(yīng)用場景。案例基于Python交互代碼的使用,可以用來匯總好的代碼。例如:寫一段批量改文件名代碼,命名為 rename(),在本案例后添加 option_int==2:rename(),運行后就可以通過編號調(diào)用該代碼。
[圖片新聞]
為弘揚中華民族愛老敬老的傳統(tǒng)美德,咸豐縣審計局組織開展了重陽節(jié)“愛老三部曲”系列活動,為退休老干部送關(guān)懷、送溫暖、送健康。
(段寅雪 攝影報道)