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

我来详细讲解一下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日

相关文章

  • 通过C++学习Python

    以下是“通过C++学习Python”的完整攻略。 1. 学习Python基本语法 Python与C++有很多相似的地方,掌握Python基本语法对于熟悉Python非常有帮助。可以先了解Python的变量、数据类型、控制语句等内容,这些基础知识可以通过看书或者参考网上教程学习。当然,如果有C++基础的话,这部分内容应该比较容易理解。 下面是Python的变量…

    python 2023年5月14日
    00
  • 详解Python中的编码问题(encoding与decode、str与bytes)

    详解Python中的编码问题 在Python中,经常会用到编码相关的操作,因此理解编码问题是很重要的。本篇攻略将详解Python中的编码问题,包括编码与解码(encoding与decode)、str与bytes等主要内容。 编码与解码 编码通常指将字符串转换为字节序列,解码则是将字节序列转换为字符串。在Python中,有两个内置的函数,可以进行编码与解码的操…

    python 2023年5月20日
    00
  • Python 编写高阶归约

    Python编写高阶归约是使用函数式编程(Functional Programming)的重要一环,对于使用Python进行数据分析和科学计算的程序员来说,学习这项技能可以提高应对各种数据操作的效率与灵活度。下面,本文将详细讲解Python编写高阶归约使用方法的完整攻略。 什么是高阶归约? 在函数式编程中,高阶函数(Higher-order function…

    python-answer 2023年3月25日
    00
  • 用Python 爬取猫眼电影数据分析《无名之辈》

    用Python爬取猫眼电影数据分析《无名之辈》的完整攻略 本文将介绍如何使用Python爬取猫眼电影网站上《无名之辈》的电影数据,并进行简单的数据分析。我们将使用Python的requests、BeautifulSoup和pandas库来完成这个过程。 爬取电影数据 首先,我们需要使用requests库向猫眼电影网站发送请求,并使用BeautifulSoup…

    python 2023年5月15日
    00
  • Python一行代码实现AI换脸

    我可以为你详细讲解“Python一行代码实现AI换脸”的完整实例教程。 什么是AI换脸 AI换脸是利用计算机深度学习算法及图像处理技术,将一个人的脸部特征和表情经过对比计算,再将其精细的贴在另一个人的脸上,从而实现两人的互换效果。 实现AI换脸的步骤 有些人可能会认为AI换脸的实现过程复杂,但实际上只需要几个步骤就可以实现了,如下所示: 收集人脸数据 利用O…

    python 2023年5月13日
    00
  • Python环境变量设置方法

    Python环境变量设置方法 什么是环境变量? 环境变量是计算机操作系统中一种重要的系统配置信息。它可以作为一种全局变量,在操作系统中保存各种应用程序运行所需要的路径、配置参数等信息。 在Python开发中,安装Python解释器后设置Python环境变量可以使我们方便地在任何地方运行Python程序,避免了每次在命令行中都需要输入Python解释器的路径的…

    python 2023年5月30日
    00
  • python 3的kivy中是否有任何将textinput(小部件)的文本访问到另一个类的方法?

    【问题标题】:Is there any to access textinput (widget)’s text into another class in kivy of python 3?python 3的kivy中是否有任何将textinput(小部件)的文本访问到另一个类的方法? 【发布时间】:2023-04-05 16:53:02 【问题描述】: 我…

    Python开发 2023年4月5日
    00
  • set在python里的含义和用法

    当我们在Python中声明一个变量时,会创建一个存储该变量的内存空间。操作系统根据变量编写类型和分配空间来保留这段内存空间。有时,我们需要改变变量值,即改变内存中的存储值。这是通过set方法实现的。 1. set的含义和用法 set是Python内置的数据类型之一,它是一个无序可变的集合(set)。它由一组互不相同的元素组成,没有重复项。 在Python中,…

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