本文主要是介绍【python Excel 合并】python合并同一个文件夹下所有excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、需求说明
一个文件夹下有多个excel表格,格式统一,均为 xlsx后缀,字段也一样,现在要合并为一个excel表格。
二、合并效果
三、python 实现代码
# -*- coding:utf-8*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')import pandas as pd
import os
import os.path
import time
time1=time.time()# 使用os模块walk函数,搜索出某目录下的全部excel文件
######################获取同一个文件夹下的所有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_listdef MergeExcel(filepath,outfile):file_list=getFileName(filepath)result=pd.DataFrame()########################合并多个excel文件###########print len(file_list)for each in file_list:#####################读取xlsx格式文件###############data1=pd.read_excel(each)print data1result=result.append(data1)#############写出数据xlsx格式#######################writer = pd.ExcelWriter(filepath+outfile, engine='xlsxwriter', options={'strings_to_urls': False})result.to_excel(writer, index=False)writer.close()#########################写出数据csv格式########################################## pd.DataFrame.to_csv(result, filepath+outfile, header=True, encoding='gbk', index=False)print "finished"if __name__ == '__main__':filepath='D:/course/'##################指定写出数据格式################# outfile1='result.csv'# MergeExcel(filepath, outfile1)outfile2 = 'result.xlsx'MergeExcel(filepath, outfile2)time2 = time.time()print u'总共耗时:' + str(time2 - time1) + 's'
"D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/合并多个excel表格.py
D:/course/1.xlsx
D:/course/2.xlsx
2name age sex
0 张三 21 男
1 李四 20 男
2 王五 14 男name age sex
0 赖德发 24 男
finished
总共耗时:0.0609998703003sProcess finished with exit code 0
这篇关于【python Excel 合并】python合并同一个文件夹下所有excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!