分享

PYTHON——合并同一个文件夹下所有EXCEL文件

 wenxuefeng360 2022-07-17 发布于四川

标签: pandas  pyhton  excel操作

有以下,文件夹中的文件,共29个。

 各个excel有多个sheet文件,不同excel文件当中同一个sheet文件的数据结构是相同的,如下:

 

现在需要将多个excel中的相同命名的sheet合并到同一个sheet当中,组合成一个excel文件。具体代码如下:

#使用os模块walk函数,搜索出某目录下的全部excel文件def getFileName(filepath):file_list = []for root,dirs,files in os.walk(filepath):for filespath in files:print(os.path.join(root,filespath))file_list.append(os.path.join(root,filespath))return file_list#合并exceldef MergeExcel(filepath,outfile):file_list=getFileName(filepath)result=collections.defaultdict(pd.DataFrame)#合并多个excel文件for each in file_list:#读取xlsx格式文件data=pd.read_excel(each,sheet_name=None,header=1)  #header:控制标题行在第几行,#sheet_name=None使得返回一个类似字典的东西,key为sheetname,values为sheet中的数据for key in data:data_=data[key]result[key]=result[key].append(data_[data_['合同号'].notnull()]) #合同号是必须填项,去除合同号为空的记录#将合并的数据填写到新的excel文件当中writer = pd.ExcelWriter(filepath+outfile,#engine='xlsxwriter', options={'strings_to_urls': False})for i,j in result.items():j.to_excel(writer,i, index=False)writer.close()#调取方法,合并数据filepath='D:/dataset/chen/'outfile2 = 'result.xlsx'MergeExcel(filepath, outfile2)

合并之后的excel文件格式如下,命名相同的sheet合并在了一起。

版权声明:本文为huangguohui_123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多