python 按照sheet合并多个Excel的示例代码(多个sheet)

本示例教程将介绍如何使用Python语言在多个Excel文件中按照sheet将数据合并到一个文件中。该示例包含两种不同的示例,一种是将多个Excel文件中同样命名的sheet合并到一个Excel文件的同一个Sheet中;另一种是将多个Excel文件中不同命名的sheet分别合并到一个新的Excel文件的同名Sheet中。

步骤一 - 安装需要的Python库

在Python中实现Excel文件的读写需要安装pandasopenpyxl库。在运行脚本之前,请确保在您的环境中已经安装这两个库。您可以使用以下命令进行安装:

pip install pandas openpyxl

步骤二 - 将所有Excel文件中的Sheet合并到同一文件的同一个Sheet下

首先,我们需要读取多个Excel文件中相同Sheet名称的所有Sheet,并将他们合并到一个Excel文件的同一Sheet下。假设所有的Excel文件都存储在/path/to/files/目录下。

import pandas as pd
import os

# 定义要读取的文件夹
folder_path = '/path/to/files/'

# 定义要读取的相同Sheet名称
sheet_name = 'Sheet1'

# 创建要写入的Excel文件对象
writer = pd.ExcelWriter('merged.xlsx', engine='openpyxl')

# 创建空DataFrame对象
merged_data = pd.DataFrame()

# 读取所有Excel文件中指定的Sheet,并将它们合并到merged_data中
for file_name in os.listdir(folder_path):
    file_path = os.path.join(folder_path, file_name)
    if os.path.isfile(file_path) and file_name.endswith('.xlsx'):
        data = pd.read_excel(file_path, sheet_name=sheet_name)
        merged_data = merged_data.append(data, ignore_index=True)

# 将合并后的数据写入到新的Excel文件中
merged_data.to_excel(writer, sheet_name=sheet_name, index=False)

# 保存Excel文件并关闭writer对象
writer.save()
writer.close()

代码解释:

  • folder_path 变量用于定义要读取的文件夹位置。
  • sheet_name 变量用于定义要读取的sheet名称。
  • writer 对象用于创建新的Excel文件对象,engine 指定使用 openpyxl 库进行写操作。
  • merged_data 变量用于创建一个空的 Pandas DataFrame 对象用于存储数据。
  • 使用 os.listdir() 函数读取文件夹中所有文件名。
  • 使用 os.path.join() 函数获取文件的完整路径。
  • 使用 os.path.isfile() 函数判断文件是不是一个文件。
  • 使用 file_name.endswith('.xlsx') 来过滤掉不是 Excel 文件的文件。
  • 使用 Pandas 的 read_excel()函数读取 Excel 文件的指定 sheet 数据。
  • 使用 Pandas 的 append() 函数把每个 Excel 文件中的数据按行合并到 merged_data 中。
  • 使用 Pandas 的 to_excel() 函数把合并后的数据写入到一个新的 Excel 文件中。
  • 使用 writer.save() 保存新的 Excel 文件。
  • 使用 writer.close() 关闭文件对象。

在上述示例代码中,我们将多个Excel文件中同名称的Sheet合并到一个名为Sheet1的Excel文件中,并保存到当前工程目录下的一个名为merged.xlsx的工作簿中。

步骤三 - 将多个Excel文件中的不同命名的Sheet合并到同一文件的不同同名Sheet下

另一个常见的需求是将多个Excel文件中不同名称的Sheet分别合并到一个新的Excel文件的同名Sheet下。下面是示例代码,假设所有的Excel文件都存储在/path/to/files/目录下。

import pandas as pd
import os

# 定义要读取的文件夹
folder_path = '/path/to/files/'

# 创建要写入的Excel文件对象
writer = pd.ExcelWriter('merged.xlsx', engine='openpyxl')

# 读取所有Excel文件中的所有Sheet
for file_name in os.listdir(folder_path):
    file_path = os.path.join(folder_path, file_name)
    if os.path.isfile(file_path) and file_name.endswith('.xlsx'):
        with pd.ExcelFile(file_path) as xlsx:
            for sheet_name in xlsx.sheet_names:
                # 读取每个Sheet的数据
                data = pd.read_excel(xlsx, sheet_name=sheet_name)
                # 将数据写入到新文件的同名Sheet
                data.to_excel(writer, sheet_name=sheet_name, index=False)

# 保存Excel文件并关闭writer对象
writer.save()
writer.close()

代码解释:

  • folder_path 变量用于定义要读取的文件夹位置。
  • writer 对象用于创建新的 Excel 文件对象。
  • 使用 os.listdir() 函数读取文件夹中的所有文件名。
  • 使用 os.path.join() 函数获取文件的完整路径。
  • 使用 os.path.isfile() 函数来判断文件是否为一个文件。
  • 使用 file_name.endswith('.xlsx') 来过滤掉不是 Excel 文件的文件。
  • 使用 pd.ExcelFile() 函数返回 Excel 文件对象。
  • 使用 ExcelFile.sheet_names() 函数获取 Excel 文件中所有 Sheet 名称。
  • 使用 Pandas 的 read_excel() 函数为每个 sheet 读取数据。
  • 使用 to_excel() 函数将数据写入到新文件的同名Sheet。
  • 使用 writer.save() 保存新的 Excel 文件。
  • 使用 writer.close() 关闭文件对象。

在上述示例代码中,我们将多个Excel文件中不同命名的Sheet分别合并到一个新的 Excel 文件的同名Sheet下,并保存到当前工程目录下的名为merged.xlsx的工作簿。

这两个示例代码可以很容易地实现将同一文件夹中所有 Excel 文件中的数据按照不同需求进行合并,为日常工作处理Excel文件提供了很好的方法和思路。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 按照sheet合并多个Excel的示例代码(多个sheet) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python基础之函数嵌套知识总结

    Python基础之函数嵌套知识总结 一、什么是函数嵌套 函数嵌套,指的是在一个函数中定义另一个函数。在Python中,函数是一等对象,因此可以将函数作为参数传入其他函数,或者将函数定义在其他函数内部,形成函数嵌套的关系。 二、为什么需要函数嵌套 1. 封装性 将一些功能独立的代码封装成函数,可以提高代码的复用性和可读性。而函数嵌套则可以更细致地划分功能,代码…

    python 2023年6月5日
    00
  • 对python抓取需要登录网站数据的方法详解

    对Python抓取需要登录网站数据的方法详解 1. 确定所需网站的登录方式 在开始抓取网站数据之前,我们需要确定该网站的登录方式。大多数网站都有两种类型的登录方式:基于表单的登录和基于cookie的登录。 基于表单的登录涉及到填写表单字段,如用户名和密码,向服务器发送POST请求来登录。如果登录成功,服务器将会响应一些cookie,这些cookie将被存储在…

    python 2023年5月14日
    00
  • Python的语法基础你真的了解吗

    以下是关于“Python的语法基础你真的了解吗”的完整攻略: Python的语法基础 Python是一种高级编程语言,具有简单易学、代码简洁、可读性强等特点。以下是Python的语法基础: 变量 在Python中,使用变量来存储数据。变量名可以是字母、数字或下划线的任意组合,但不能以数字开头。以下是定义变量的示例: # 定义变量 x = 10 y = ‘He…

    python 2023年5月13日
    00
  • 总结Pyinstaller打包的高级用法

    下面我详细讲解下“总结Pyinstaller打包的高级用法”的完整攻略。 一、Pyinstaller 简介 Pyinstaller 是一个打包 Python 脚本为可执行文件的第三方模块,这个工具可以将 Python 代码转换为独立的可执行程序,从而能够比较方便地分发 Python 应用程序。Pyinstaller 支持 Linux、Mac OS X 和 W…

    python 2023年5月13日
    00
  • Python实现Logger打印功能的方法详解

    Python实现Logger打印功能的方法详解 Logger是Python自带的logging模块提供的一个用于日志记录的工具。它提供了多种方式来记录和输出日志信息,使得在应用程序中添加日志功能变得简单方便。在此文档中,我们将详细讲解如何使用Logger实现打印日志信息的功能。 一、Logger的基本概念 在使用Logger之前,我们需要了解以下几个基本概念…

    python 2023年6月5日
    00
  • python里读写excel等数据文件的6种常用方式(小结)

    以下是一份Python读写Excel等数据文件的常用方式的实例教程: 1. 用pandas库来读写Excel文件 在Python中,pandas库提供了一个非常简单易用的方法来读写Excel文件,这个方法就是read_excel()。示例: import pandas as pd df = pd.read_excel(‘test.xlsx’, sheet_n…

    python 2023年5月13日
    00
  • Python保姆式手把手带你掌握异常的捕获和处理

    Python保姆式手把手带你掌握异常的捕获和处理 异常处理是Python编程中非常重要的一部分。在编写代码时,我们无法预测所有可能出现的,因此需要使用异常处理来捕获和处理这些错误。本文将手把手带你掌握Python异常捕获和处理。 异常的本概念 在Python中,异常是指在程序执行期间发生的错误。当Python解释器遇到错误时,会引发一个异常。是Python中…

    python 2023年5月13日
    00
  • python使用turtle库写六角形的思路与代码

    下面是Python使用Turtle库画六边形的攻略。 思路 使用Turtle库的Turtle()函数创建一个海龟实例,在画笔模式下,通过forward()函数移动海龟,right()或left()函数控制海龟转向,从而完成六边形的绘制。 代码示例 下面是一个绘制六边形的完整代码示例: import turtle # 创建海龟实例 t = turtle.Tur…

    python 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部