Python对Excel按列值筛选并拆分表格到多个文件的代码

yizhihongxing

我来详细讲解一下Python对Excel按列值筛选并拆分表格到多个文件的代码的完整实例教程。

示例说明

在本教程中,我们将以一个实例来说明如何使用Python对Excel表格按列值进行筛选并拆分成多个文件。假设我们有一张Excel表格,其中包含了两列数据:日期和销售额。现在我们需要按照日期来筛选表格,并将符合条件的行拆分成多个Excel文件。

我们的示例Excel表格如下所示:

日期 销售额
1/1/21 $100
1/2/21 $120
1/2/21 $150
1/3/21 $80
1/3/21 $200

我们需要按照日期筛选表格,并将符合条件的行拆分成多个Excel文件,例如:

  • 1/1/21.xlsx:包含第一行数据
  • 1/2/21.xlsx:包含第二行和第三行数据
  • 1/3/21.xlsx:包含第四行和第五行数据

现在,我们开始展示如何用Python实现该功能。

步骤

  1. 首先,我们需要安装pandas、openpyxl和os库,这三个库可以分别使用以下命令进行安装:
    pip install pandas
    pip install openpyxl
    pip install os
  1. 接着,我们需要导入这三个库,使用以下代码进行导入:
    import pandas as pd
    from openpyxl import Workbook
    import os
  1. 然后,我们需要读取Excel表格,并将其转换为DataFrame格式。使用以下代码进行读取:
    df = pd.read_excel('demo.xlsx', sheet_name='Sheet1')
  1. 接着,我们需要通过遍历把符合条件的数据进行筛选,同时分别保存在一个新的DataFrame中。使用以下代码进行筛选:
    for date in df['日期'].unique():
        sub_df = df[df['日期'] == date]
        export_file_path = os.path.join(os.getcwd(), str(date)+'.xlsx')
        sub_df.to_excel(export_file_path, index=False)

在该代码段中,我们首先使用unique()函数获取表格中的所有唯一日期,并且使用for循环来遍历这些日期。然后,使用loc函数对每一行进行筛选,只选取对应日期的所有行,将其保存在一个新的DataFrame中,最后使用to_excel函数将其保存为一个新的Excel文件。

至此,我们的Python对Excel按列值筛选并拆分表格到多个文件的代码已经完成了。完整代码和结果如下:

import pandas as pd
from openpyxl import Workbook
import os

df = pd.read_excel('demo.xlsx', sheet_name='Sheet1')
for date in df['日期'].unique():
    sub_df = df[df['日期'] == date]
    export_file_path = os.path.join(os.getcwd(), str(date)+'.xlsx')
    sub_df.to_excel(export_file_path, index=False)

结果:

  • 1/1/21.xlsx:包含第一行数据
  • 1/2/21.xlsx:包含第二行和第三行数据
  • 1/3/21.xlsx:包含第四行和第五行数据

示例说明

接下来,我们将再给出一个示例来说明如何使用Python对Excel表格按列值进行筛选并拆分成多个文件。假设我们有一张Excel表格,其中包含了两列数据:学校和分数。现在我们需要按照学校来筛选表格,并将符合条件的行拆分成多个Excel文件。

我们的示例Excel表格如下所示:

学校 分数
浙大 90
浙大 80
北大 85
清华 95
北大 92

我们需要按照学校筛选表格,并将符合条件的行拆分成多个Excel文件,例如:

  • 浙大.xlsx:包含第一行和第二行数据
  • 北大.xlsx:包含第三行和第五行数据
  • 清华.xlsx:包含第四行数据

现在,我们开始展示如何用Python实现该功能。

步骤

  1. 首先,我们需要安装pandas、openpyxl和os库,这三个库可以分别使用以下命令进行安装:
    pip install pandas
    pip install openpyxl
    pip install os
  1. 接着,我们需要导入这三个库,使用以下代码进行导入:
    import pandas as pd
    from openpyxl import Workbook
    import os
  1. 然后,我们需要读取Excel表格,并将其转换为DataFrame格式。使用以下代码进行读取:
    df = pd.read_excel('demo.xlsx', sheet_name='Sheet1')
  1. 接着,我们需要通过遍历把符合条件的数据进行筛选,同时分别保存在一个新的DataFrame中。使用以下代码进行筛选:
    for school in df['学校'].unique():
        sub_df = df[df['学校'] == school]
        export_file_path = os.path.join(os.getcwd(), str(school)+'.xlsx')
        sub_df.to_excel(export_file_path, index=False)

在该代码段中,我们首先使用unique()函数获取表格中的所有唯一学校,并且使用for循环来遍历这些学校。然后,使用loc函数对每一行进行筛选,只选取对应学校的所有行,将其保存在一个新的DataFrame中,最后使用to_excel函数将其保存为一个新的Excel文件。

至此,我们的Python对Excel按列值筛选并拆分表格到多个文件的代码已经完成了。完整代码和结果如下:

import pandas as pd
from openpyxl import Workbook
import os

df = pd.read_excel('demo.xlsx', sheet_name='Sheet1')
for school in df['学校'].unique():
    sub_df = df[df['学校'] == school]
    export_file_path = os.path.join(os.getcwd(), str(school)+'.xlsx')
    sub_df.to_excel(export_file_path, index=False)

结果:

  • 浙大.xlsx:包含第一行和第二行数据
  • 北大.xlsx:包含第三行和第五行数据
  • 清华.xlsx:包含第四行数据

希望这个实例教程能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python对Excel按列值筛选并拆分表格到多个文件的代码 - Python技术站

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

相关文章

  • Python脚本后台运行的几种方式

    下面我就来详细讲解一下Python脚本后台运行的几种方式。 1. 使用nohup命令 nohup命令可以在后台运行一个命令,并将其输出重定向到nohup.out文件中。可以使用以下命令将Python脚本后台运行: nohup python3 myscript.py > nohup.out 2>&1 & 其中,myscript.py…

    python 2023年5月19日
    00
  • Python 改变数组类型为uint8的实现

    下面我来详细讲解一下“Python 改变数组类型为uint8的实现”的完整攻略。 什么是数组类型? 在 Python 中,数组类型是由 Numpy 库提供的,它是基于 Python 的数值计算库,提供了大量的数学函数,可以用于科学计算、数据处理、机器学习等领域。 Numpy 中的数组类型主要包括以下几种: int8、uint8:8 位整数类型,范围为 -12…

    python 2023年6月5日
    00
  • Python模块的制作方法实例分析

    Python模块的制作方法实例分析 Python是一个开源、高级、免费且易于学习的编程语言,具有简单易用和非常灵活的特点,并且它能够灵活地与其他编程语言集成。在Python中,模块是可以重复使用的代码,模块的制作方法可以让我们更好地组织和管理代码。本文将详细讲解Python模块的制作方法,帮助大家更好地理解并掌握Python编程技巧。 模块的制作方法 Pyt…

    python 2023年6月3日
    00
  • 详解Python中字典的增删改查

    详解Python中字典的增删改查 Python中的字典(dictionary)是一种无序的、可变的数据类型,它是由键(key)和值(value)组成的。在Python中,字典使用大括号{}来表示,键和值之间使用冒号:来分隔,不同的键和值之间使用逗号,分隔。 字典的创建和初始化 在Python中,字典可以通过以下方式进行创建和初始化: # 创建一个空字典 d …

    python 2023年5月13日
    00
  • python3编写C/S网络程序实例教程

    下面是详细的攻略,包括步骤和两条示例。 1. 前置知识 在学习和编写Python3的C/S网络程序之前,需要具备以下知识: 编程基础知识,包括流程控制、变量和数据类型、函数等; 熟悉Python3的基本语法; 熟悉Python3的网络编程模块,包括socket、select、asyncio等; 了解C/S架构模式,包括客户端和服务端的通信方式和基本协议。 2…

    python 2023年5月19日
    00
  • Python3读取文件常用方法实例分析

    以下是针对“Python3读取文件常用方法实例分析”的完整攻略: Python3读取文件常用方法实例分析 1. 文件读取基础知识 在Python中,我们可以使用内置的open()函数来打开一个文件,然后读取或者写入其中的内容。open()函数的第一个参数是文件的路径,第二个参数是以何种模式打开文件,如下: f = open(‘file.txt’, ‘r’) …

    python 2023年6月5日
    00
  • Python数据分析之pandas读取数据

    下面就给您详细讲解“Python数据分析之pandas读取数据”的完整实例教程。 1. 简介 pandas是Python中一种非常流行的数据分析工具,支持读取多种数据格式,比如CSV、Excel、SQL、JSON等等。pandas读取数据的API非常简单,但对于初学者来说,也有一些需要注意的细节。在本文中,我们将演示如何使用pandas从各种数据源中加载数据…

    python 2023年5月13日
    00
  • 利用python画出AUC曲线的实例

    下面是利用Python画出AUC曲线的实例的完整攻略。 1. 什么是AUC曲线 AUC(Area Under Curve)曲线是一种衡量分类模型好坏的指标,通俗来说就是ROC曲线下方的面积。ROC(Receiver Operating Characteristic)曲线则是一种描述分类模型性能的曲线,通常以假正例率为横轴,真正例率为纵轴绘制。AUC曲线面积越…

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