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 十大特性简介 Python 是一种高级编程语言,具有简单易学、可读性强、功能强大等特点。Python 有许多特性,其中十大特性是 Python 最为突出的特点,包括: 简单易学 面向对象 免费开源 可移植性 动态类型 高级语言 大量标准库 可扩展性 解释性 互动性 下面将详细讲解这十大特性。 二…

    python 2023年5月14日
    00
  • 对Python中画图时候的线类型详解

    对Python中画图时候的线类型详解 在Python中,我们可以使用很多不同类型的线条来绘制图表,每种线条都有不同的用途和效果。下面是一些主要的线条类型,以及它们在Python中的用法和效果。 直线 直线是最基本的线条类型之一,可以通过plot函数来绘制。默认情况下,plot函数会绘制一条实线,线条颜色为蓝色。 import matplotlib.pyplo…

    python 2023年5月18日
    00
  • 如何在Python中进行函数式编程?

    Python是一门支持函数式编程(Functional Programming)的语言,可以通过以下方式来进行函数式编程: 1.使用匿名函数Lambda Lambda可以创建匿名函数,使得简短的代码更加简洁。可以通过以下方式使用Lambda函数: square = lambda x: x**2 print(square(5)) # 输出: 25 # 此处的 …

    python 2023年4月19日
    00
  • Python教程通过公共键对不同字典进行排序示例详解

    那么本文将会详细讲解 “Python教程通过公共键对不同字典进行排序示例详解” 的完整攻略。在本文中,我将会向您介绍如何通过Python的方法对不同的字典进行排序,具体过程如下: 1. 首先,我们需要定义多个字典,这里我们定义了三个字典 dict1 = {‘apple’: 3, ‘banana’: 2, ‘orange’: 4} dict2 = {‘bana…

    python 2023年5月13日
    00
  • 【manim动画教程】–目录(完结)

    manim是一个生成数学教学视频的动画引擎。它用编程的方式创建精美的数学动画,让数学更加易懂。 本教程简单介绍了 manim 的基本使用方式,基于 v0.17.2 版本 manim 安装 manim是基于python语言开发的开源框架,是由 3blue1brown 开发的。 本来是他们自己用来制作数学视频用的,因为其友好的API和漂亮的UI效果,在开源之后,…

    python 2023年4月22日
    00
  • python基于plotly实现画饼状图代码实例

    下面我将详细讲解如何基于Python和Plotly库实现画饼状图的代码实例。 环境配置 在开始实现之前,需要先安装Plotly库。安装方法如下: pip install plotly 导入Plotly库 在代码实现前,需要先导入Plotly库的相关模块,如下所示: import plotly.graph_objs as go from plotly.offl…

    python 2023年5月19日
    00
  • Excel 如何改变美国的日期格式

    要在 Excel 中将美国的日期格式改为其他格式,可以使用“格式单元格”功能。具体步骤如下: 在 Excel 中,选择包含日期的单元格。 在“开始”选项卡中,单击“数字”下拉菜单,然后选择“日期”。 在“类别”列表,选择要更改为的日期格式。 单击“确定”按钮,Excel 将更改日期格式。 以下是两个示例: 示例1:将美国日期格式改为英国日期格式 以下是将美国…

    云计算 2023年5月10日
    00
  • django模型查询操作的实现

    Django模型查询操作的实现 Django的模型查询操作可以帮助我们快速高效的从数据库中获取数据,Django的查询操作分为两种:基于Manager实现的查询和基于QuerySet实现的查询。下面将对这两种查询方式进行详细讲解。 基于Manager实现的查询 在Django中,每个Model都有一个默认的Manager,Manager负责从数据库中获取数据…

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