python批量合并excel文件,后缀名为xls

本文介绍了如何利用Python脚本批量合并多个Excel文件。通过引入xlrd和pandas库,程序遍历指定目录下的所有.xls文件,读取并拼接数据,最终将合并结果保存为新的Excel文件。此方法适用于需要整合大量Excel数据的场景。
摘要由CSDN通过智能技术生成

最近处理的一个项目需要用到批量合并excel表格,我就用python拼了一个代码,可以实现传入一个根目录,然后将该目录下所有的后缀名为xls的excel表格进行合并,将结果输出在根目录下

第三方库配置

pip install xlwd
pip install pandas

思路:

首先根据提供的根目录获取到当前目录下的所有文件夹
然后挨个文件夹查找后缀名为xls的的文件
之后遍历读入这些文件,再用pandas做一个拼接

思路捋清了之后,代码实现的部分并不难,我就之间上代码了,里面也有注释,容易理解

import xlrd
import pandas as pd
import os
# 获取根目录下所有的文件夹,并返回
def get_Dirs(base_path):
    paths = []
    for root,dirs,filenames in os.walk(base_path):
        paths.append(r"{}".format(root))
    return paths
# 找到所有文件后缀名为xls的,组合成文件路径,存放在列表里返回
def get_all_file(base_path):
    # lt = []
    box = []
    for p in get_Dirs(base_path):

        for f in os.listdir(p):
            if f.endswith('.xls'):
                # print(f)
                filepath = os.path.join(p,f)
                box.append(r'{}'.format(filepath))
                # print(box)
        # lt.append(box)
    return box
# 将每个文件的数据进行读入,汇总,最后输出
def save(base_path):
    new_list = []
    sheet_num = 0
    file_list = get_all_file(base_path)
    # 遍历每一个文件,进行数据读入
    for file in file_list:
        wb = xlrd.open_workbook(file)
        sheet_names = wb.sheet_names()
        sheet_num += len(sheet_names)   #计算合并的表格的总数

        for sn in sheet_names:
            dataframe = pd.read_excel(file, sheet_name=sn, header=0)
            new_list.append(dataframe)
    # 拼接
    df = pd.concat(new_list)
    df.to_excel(base_path + '\\' + '合并文件.xlsx',index=False)
    print("数据汇总表已生成!")
if __name__ == '__main__':
    base_path = 'D:\\test'
    save(base_path)

效果展示视频

python实现批量excel文件合并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值