首页 > 编程语言 >Python 合并Excel文件(Excel文件多sheet)

Python 合并Excel文件(Excel文件多sheet)

时间:2023-09-28 17:24:34浏览次数:45  
标签:文件 sheet pd Python Excel df file path

一、Python合并Excel文件多sheet《方法1》

import os
import pandas as pd

# 指定包含Excel文件的文件夹路径
folder_path = 'C:\\Users\\Admin\\Desktop\\数据核对'

# 获取文件夹中的所有Excel文件
excel_files = [file for file in os.listdir(folder_path) if file.endswith(('.xls', '.xlsx'))]

# 创建一个空的DataFrame来存储合并后的数据
merged_data = pd.DataFrame()

# 遍历所有Excel文件
for file in excel_files:
    file_path = os.path.join(folder_path, file)

    # 读取Excel文件,获取所有工作表
    xls = pd.ExcelFile(file_path)

    # 遍历每个工作表并合并它们
    for sheet_name in xls.sheet_names:
        df = pd.read_excel(file_path, sheet_name=sheet_name)

        # 添加一个新的列,用于标识数据来自哪个Excel文件的哪个工作表
        df['SourceFile'] = file
        df['SheetName'] = sheet_name

        # 合并数据,将当前工作表的数据追加到已合并的数据中
        merged_data = merged_data.append(df, ignore_index=True)

# 将合并后的数据保存为一个新的Excel文件,指定index=False以避免保存索引列
merged_data.to_excel('C:\\Users\\Admin\\Desktop\\合并数据.xlsx', index=False)

print('Excel文件合并完成并保存为合并数据.xlsx,包含标识列SourceFile和SheetName')

二、Python合并Excel文件多sheet《方法2》

import pandas as pd
import glob
import os

# 使用glob.glob函数获取指定目录下所有以.xlsx为扩展名的文件路径,并将结果存储在file_paths列表中
file_paths = glob.glob("C:\\Users\\Admin\\Desktop\\数据核对\\*.xlsx")

# 创建一个空的DataFrame,用于存储合并后的数据
df = pd.DataFrame()

# 循环遍历每个Excel文件,并将其添加到DataFrame中
for file_path in file_paths:
    # 使用pd.read_excel函数读取Excel文件
    xls = pd.ExcelFile(file_path)
    print(xls)

    for sheet_name in xls.sheet_names:
        # 使用pd.read_excel函数读取指定工作表的数据
        temp_df = pd.read_excel(file_path, sheet_name=sheet_name)
        
        # 使用os.path.basename函数获取文件名(包含扩展名)
        file_name = os.path.basename(file_path)
        
        # 添加一个新的列,用于标识数据来自哪个Excel文件的哪个工作表
        temp_df['SourceFile'] = file_name
        temp_df['SheetName'] = sheet_name

        # 合并数据,将当前工作表的数据追加到已合并的数据中
        df = df.append(temp_df, ignore_index=True)

# 使用df.to_excel函数将合并后的数据保存为新的Excel文件,index=False表示不保存行索引
df.to_excel("C:\\Users\\Admin\\Desktop\\合并数据.xlsx", index=False)

 

标签:文件,sheet,pd,Python,Excel,df,file,path
From: https://www.cnblogs.com/lcl-cn/p/17736191.html

相关文章

  • python exception
    exception使用exception是为了程序健壮性考虑,在程序退出的时候做好文件关闭,资源释放等工作,当然清晰的提示也是很重要。importtracebackfid=open()try:passexceptExceptionase:print(traceback.fomat_exe())#不像print(e),只打印最后出错,而是会递归的找到最......
  • 2023版:深度比较几种.NET Excel导出库的性能差异
    2023版:深度比较几种.NETExcel导出库的性能差异 2023版:深度比较几种.NETExcel导出库的性能差异引言背景和目的本文介绍了几个常用的电子表格处理库,包括EPPlus、NPOI、Aspose.Cells和DocumentFormat.OpenXml,我们将对这些库进行性能测评,以便为开发人员提供实际的性能指标和......
  • Spring Boot 实现文件上传
    在实际项目中,文件上传是很多项目必不可少的一个功能。那么在SpringBoot项目中又是如何来实现文件上传功能的呢?一般来说,上传的文件可以保存到项目根目录下的某一文件夹中,但这样做显然是不太合适的。因此我们选择将文件上传到专门的文件服务器中。很多云计算厂商都提供文件存......
  • Python信贷风控模型:梯度提升Adaboost,XGBoost,SGD, GBOOST, SVC,随机森林, KNN预测金
    原文链接:http://tecdat.cn/?p=26184 原文出处:拓端数据部落公众号最近我们被客户要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何......
  • Python学习笔记
    一.简介1.概述文档仅是简单学习python,并不深入探究,保证能够正常使用。在进行python学习的时候,建议直接学习python3,不要在学python2,浪费时间。更详细学习,请参考:https://www.liaoxuefeng.com/wiki/10169596636024002.python优势简单,强大的库调用使得实现功能更加简单。中文,免......
  • python代码转成php代码的工具 或者go转成php的代码,想把odoo改成成php swoole当成web服
    目前市场上有一些可以将Python代码转换为PHP代码的工具,例如:Transcrypt:Transcrypt是一个将Python代码转换为JavaScript和PHP的工具。它可以将Python代码转换为相应的PHP代码,并保持语法和结构的一致性。Pythran:Pythran是一个专门用于加速Python代码执行的工具,但它也提供了将Python代......
  • Python 批量合并csv文件
    importpandasaspdimportglobimportos#获取所有CSV文件的路径file_paths=glob.glob("C:\\Users\\Admin\\Desktop\\数据核对\\*.csv")#使用glob.glob函数获取指定目录下所有以.csv为扩展名的文件路径,并将结果存储在file_paths列表中print(file_paths)#打印出这......
  • 学习 Python
    CSS是一种样式表语言,用于描述以HTML编写的Web文档的表示形式。它控制网页的外观,包括布局、颜色、字体和间距。在Flask模板中包含您可以通过链接到外部CSS文件或直接在HTML模板中嵌入样式,在Flask模板中包含CSS样式。创建CSS样式表您可以创建CSS样式表来定义网页......
  • 用 Python 自动生成小学四则运算题目
    这个作业属于哪个课程软件工程这个作业要求在哪里结对项目这个作业的目标熟悉多人协作成员......
  • DICOM 文件传输 基于DCMTK
    DcmSCP:dicomserviceclassprovider,相当于服务器DcmSCU:dicomserviceclassuser,相当于客户端DIMSE:dicommessageserviceelement,dicom连接中传递的消息单元 一、建立连接DICOM网络连接建立在TCP基础上,使用IP地址和端口号通信。1. SCP开始监听端口2. 初始化TCP连接3.......