在某单位审计工作中,由于该单位使用全国统一的网络版财务软件,无权限导出后台数据库数据,只能利用软件提供的前台导出功能,将当前页查询数据以excel表格方式导出。而被审计单位全年凭证较多,使用该财务软件每页显示的记录条数有限制,导致全年导出凭证列表文件多达50多个。为方便审计分析,审计人员需要将所有导出的凭证excel文件内容合并至一张excel表中。
传统合并方法是打开文件,手工复制数据粘贴至目标excel表中,这种方式效率低下、时间长且容易出错。我局审计人员利用python脚本,实现依次读取excel文件表格内容,自动合并为一个包含12个月凭证的excel文件,以便后期导入AO中分析。
分析该财务系统前台导出的凭证表结构时发现,所有凭证打印列表的表头均相同:
可以看出,excel文件中除了凭证内容还有标题和列名。
审计人员利用python中pandas模块编写以下脚本语句,自动读取凭证目录下文件,并将凭证内容合并到一起,标题不变,生成新的excel文件(合并凭证.xlsx)。
import pandas as pd
import os
#读取目录下文件
files=os.listdir('./pz')
listexcel=[]
forfilein files:
df=pd.read_excel('./pz/'+file, header=1) #读取excel文件,并指定第二行为表头
listexcel.append(df)
writer = pd.ExcelWriter('合并凭证.xlsx')
pd.concat(listexcel).to_excel(writer,'凭证列表',index=False)
writer.save()
使用该方法批量合并表头相同的excel文件,可大大节约审计人员数据整理的时间,提高审计效率。(数据处 刘峰)