使用Python快速进行Excel合并的几种场景
作者:Forge_ahead
由于工作需要,客户需要将多个excel文件合并成一个excel中,下面这篇文章主要给大家介绍了关于使用Python快速进行Excel合并的几种场景,文中通过代码介绍的非常详细,需要的朋友可以参考下
本文记录工作中常遇到的几种Excel文件合并的情景,实际运到问题可以直接运行程序,输入要合并的文件所在的路径就可以实现自动合并,提升工作效率。
情形一:Excel属于同一文件夹下
#同一文件夹下多个Excel合并 import pandas as pd import os #文件路径 file_dir = input('请输入合并Excel文件所在的位置路径:') #构建新的表格名称 new_filename = file_dir + '\\new_file.xlsx' #找到文件路径下的所有表格名称,返回列表 file_list = os.listdir(file_dir) new_list = [] for file in file_list: #重构文件路径 file_path = os.path.join(file_dir,file) #将excel转换成DataFrame dataframe = pd.read_excel(file_path) #保存到新列表中 new_list.append(dataframe) #多个DataFrame合并为一个 df = pd.concat(new_list) #写入到一个新excel表中 df.to_excel(new_filename,index=False)
情形二:Excel属于不同文件夹下
#多个文件夹下Excel合并 import pandas as pd import os #文件路径 file_dir = input('请输入合并Excel文件所在文件夹的路径:') #构建新的表格名称 new_filename = file_dir + '\\new_file.xlsx' #找到文件路径下的所有表格名称 file_list = os.walk(file_dir) new_list = [] for dir_path,dirs,files in file_list: for file in files: #重构文件路径 file_path = os.path.join(dir_path,file) #将excel转换成DataFrame df = pd.read_excel(file_path) new_list.append(df) #多个DataFrame合并为一个 df = pd.concat(new_list) #写入到一个新excel表中 df.to_excel(new_filename,index=False)
情形三:Excel合并并将文件名单独添加一列
#同一文件夹下多个Excel合并,并将文件名作为新的一列 import pandas as pd import os #文件路径 file_dir = input('请输入合并Excel文件所在的位置路径:') #构建新的表格名称 new_filename = file_dir + '\\new_file.xlsx' #找到文件路径下的所有表格名称,返回列表 file_list = os.listdir(file_dir) new_list = [] for file in file_list: #重构文件路径 file_path = os.path.join(file_dir,file) #将excel转换成DataFrame dataframe = pd.read_excel(file_path) #处理文件名 big_class = file.split('_')[1] dataframe['bigclass'] = big_class #保存到新列表中 new_list.append(dataframe) #多个DataFrame合并为一个 df = pd.concat(new_list) #写入到一个新excel表中 df.to_excel(new_filename,index=False)
总结
到此这篇关于使用Python快速进行Excel合并的几种场景的文章就介绍到这了,更多相关Python快速合并Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!