相景丽
(山西职业技术学院,山西 太原 030006)
Python语言以其强大的处理能力与平台兼容性,被广泛应用于各个行业的软件项目开发中,而Python框架的数据表文件处理机制对于以Office和WPS为代表的办公软件的无人自动化操作具有良好的适用性。
随着计算机技术的普及,各企业中基本实现了基于Office或WPS的信息化办公模式,办公软件的广泛应用在减少纸张消耗、提升信息传递效率、实现数据规范化方面有着巨大优势。但随着企业规模的扩大,日常办公所产生的数据文件的数量也随之大幅增长,各部门所提交的大量Excel数据表文件往往需要安排专人逐一打开后按照规范进行集中处理,在此过程中存在着大量重复的繁琐操作,采用人工处理模式不仅效率低下、且存在错误率高的问题。Python-pandas模块作为专用的数据表处理引擎,在实现Excel数据表文件的自动化批量处理工作方面有着优异表现[1],因此本文尝试引入Python框架来解决大批量规范化处理Excel数据表文件的问题。
本文所设计的Excel数据表文件自动批量处理程序的实现流程如图1所示,程序首先获取到文件夹中全部待处理数据表文件的文件名并构建文件名集合,然后自动读取文件名集合中的第一个文件并按照用户指定的规则对数据表文件中的相应数据进行处理,在处理完成后进行该文件的保存操作。接下来,程序自动从文件名集合中读取下一个数据表文件并重复以上操作步骤,直到全部数据表文件被处理完毕。
图1 自动批量处理工作的流程图
Python开发框架中提供的os模块为开发人员提供了管理和访问文件系统的功能,在本应用中,通过该模块自动获取所有的待处理Excel文件的名字记录集,并基于此记录集实现对全部待处理的Excel文件的遍历操作,程序可以逐一从记录集中读取文件名称并对该Excel文件进行访问。而pandas模块则提供了强大的数据表处理能力[2],程序基于该模块来构建用户所提出的数据处理规则,并对数据表中的行、列进行相应的数据添加、更新和删除操作。
同时,为应对可能出现的个别Excel数据表中的内容或格式错误导致程序崩溃的情况,在数据处理阶段可以引入错误捕获和抛出机制try-except,将出现内容错误的文件名做输出提示处理后,直接读取下一个数据表文件并继续自动进行数据处理。避免因发生文件数据错误而导致自动化批量处理任务的中断。
1) 在Python程序中导入支持模块,其中pandas模块用于处理Excel中的数据,os模块则用于访问文件系统。
import pandas as exl
import os
2) 使用Python os模块所提供的listdir()方法获取文件夹中全部待处理的Excel数据文件的文件名并构建文件名记录集,并基于该记录集进行对所有Excel数据文件的遍历处理操作。
Excl_name = os.listdir(r'文件夹路径')#获取全部数据表文件名并创建记录集
for i in range(len(Excl_name)): #使用len函数获取记录集的长度,即待处理文件的总数,并以此构建循环结构逐一处理数据文件
3) 文件的读取与保存使用Python pandas模块所提供的read_excel()方法和to_excel()方法实现。而Excel数据表文件中数据的处理操作则通过insert()、loc()、at()、drop()方法完成。
efile = exl.read_excel('文件夹路径' + Excl_name [i]) #读取文件
try: #开始捕获异常
efile.insert(插入位置, '新列的名称', '初始值') #添加列操作,位置值基于0开始
efile = efile.drop(['要删除的列名'],axis=1)#删除列操作
df.loc[行号,'列名称']=新数据 #更新数据的操作
df.at['行名称'] = [数据队列]#添加行操作
df.drop(df.index[行号队列], inplace=True) #删除行操作
except Exception as e: #记录出现错误的文件名
print("文件出现异常:",Excl_name [i])
continue #继续处理下一个数据文件
efile.to_excel('D://excel_py//' + Excl_name [i])#将更新结果保存至数据文件
需要注意的是,在Python对Excel文件的自动化处理过程中,pandas模块的部分功能依赖于以下三个模块:fsspec、xlwt和xlwd运行[3],因此除了需要在程序中直接调用pandas与os模块以外,还需要基于Pip服务在Python开发框架中部署fsspec模块、xlwt和xlwd模块,为pandas对数据表文件进行读取和保存操作提供支持。
随着办公软件的广泛应用,企业在运营管理过程中产生了大量的Excel数据表文件需要处理,传统的人工处理方式存在效率低、易出错的问题。而Python语言在数据自动化处理方面所具备的优势,在Excel数据表文件的数据处理工作方面有着优异表现。本文所提出的解决方案基于Python-os、Python- pandas等模块实现了对大批量Excel数据表文件的自动化处理,有效提升了企业的信息化办公水平与日常工作效率。