python批量合并excel文件

当工作中发现有多个excel表需要进行相同的操作或者需要汇总在一起,一个一个处理太费时间,以下的python代码能够帮你解决这个问题~

python 复制代码
import pandas as pd
import os

# 设置Excel文件所在的文件夹路径和合并文件的输出路径  
folder_path = 'D:\\Desktop\\data'  # 替换为你的Excel文件所在文件夹路径  
output_file = 'D:\\Desktop\\data\\merged_excel_file.xlsx'    # 合并后的Excel文件所属路径  

# 创建一个空的list,用于存储合并后的数据 
data_list = []
n=0

#遍历文件夹里的所有文件,判断excel文件,并合并数据
for file in os.walk(folder_path):    
    for table in file[2]:
        #判断是否为Excel文件,是则继续后面的操作
        if table.endswith(".xlsx") or table.endswith(".xls"):
            #完善Excel文件的路径
            path = file[0] + '/' + table
            #读取Excel文件,返回一个DataFrame对象
            df = pd.read_excel(path)
            
            #通过文件名提取有效信息
            level0=table.split("-")[2]
            # 插入列
            col_name = df.columns.tolist()
            col_name.insert(0, '品类')
            df = df.reindex(columns = col_name)
            #通过新增的列,承接提取的有效信息
            df.loc[:,'品类'] = level0
            #将DataFrame追加到列表data_list中
            
            data_list.append(df)
            #记录已处理的表格数量
            n = n+1 
            print('第' + str(n) + '个表格已处理')

# 将合并后的List转化为DataFrame
data_all =pd.concat(data_list)

#还可以对DataFrame进行其他操作,比如改变数据类型等
# data_all['item_ID'] = data_all['item_ID'].astype ('str')

# 将 DataFrame 保存为新的Excel 文件
data_all.to_excel(output_file,index=False)
相关推荐
nervermore9902 分钟前
2.2 python数据库-mysql
python
DARLING Zero two♡6 分钟前
关于我、重生到500年前凭借C语言改变世界科技vlog.15——深入理解指针(4)
c语言·开发语言·科技
混迹网络的权某7 分钟前
蓝桥杯真题——三角回文数(C语言)
c语言·开发语言·算法·蓝桥杯·改行学it
爱上语文14 分钟前
苍穹外卖 商家取消、派送、完成订单
java·开发语言·spring boot·后端
墨柳烟22 分钟前
ABAQUS高亮显示网格节点方法:Python为每个节点建立集合
开发语言·前端·python·abaqus
Pfolg42 分钟前
画动态爱心(Python-matplotlib)
python·matplotlib
小笨猪-1 小时前
RabbitMQ高级特性
java·开发语言·redis·rabbitmq
神仙别闹1 小时前
基于 Java 语言双代号网络图自动绘制系统
java·开发语言
猫爪笔记1 小时前
JAVA基础:单元测试;注解;枚举;网络编程 (学习笔记)
java·开发语言·单元测试
API快乐传递者1 小时前
用 Python 爬取淘宝商品价格信息时需要注意什么?
java·开发语言·爬虫·python·json