如何利用Python让Excel快速按条件筛选数据

  • Post category:Python

下面是详细讲解如何利用Python让Excel快速按条件筛选数据的完整实例教程。

简介

在日常工作中,我们经常需要对 Excel 中的数据进行筛选,用来挑选出我们需要的数据集。通过利用 Python 的 Pandas 库,我们可以更快速方便地进行数据筛选,并将处理后的数据输出到新的 Excel 文件中。

步骤

1. 安装所需的库

首先需要使用 pip 命令安装所需的库:pandas 和 openpyxl (用于操作 Excel 文件)。

pip install pandas openpyxl

2. 读取 Excel 文件

在 Python 中使用 Pandas 的 read_excel 函数来读取 Excel 文件中的数据,并将其转化为 Pandas DataFrame 对象。

import pandas as pd

df = pd.read_excel("data.xlsx")

这里的 data.xlsx 为待处理的 Excel 文件名,如果文件不在当前目录下,需要指定完整的路径。

3. 进行筛选

在 Pandas 中可以使用 loc 和 iloc 其中的一种方法来进行筛选,这里以 loc 方法为例。

按照某个条件筛选数据的示例代码如下:

# 筛选所有城市为 "Beijing" 的行
beijing_data = df.loc[df['City'] == 'Beijing']

# 筛选指定日期范围内的数据
start_date = "2021-01-01"
end_date = "2021-01-31"
date_range_data = df.loc[(df['Date'] >= start_date) & (df['Date'] <= end_date)]

通过以上代码段,我们可以按照城市名称和日期范围两种条件对数据进行筛选。

4. 输出结果到新文件

在筛选出需要的数据后,可以使用 Pandas 的 to_excel 函数将处理后的数据输出到新的 Excel 文件中:

beijing_data.to_excel("beijing_data.xlsx", index=False)
date_range_data.to_excel("date_range_data.xlsx", index=False)

这里的 index=False 参数表示不将 DataFrame 的索引写到输出文件中。

示例说明

在上述步骤的基础上,下面给出两个示例:

示例一

Excel 文件 data.xlsx 包括日期、城市和销售额三列数据。需要筛选出所有 2021 年 6 月份北京市的销售数据并输出到新文件 beijing_sales.xlsx 中。

import pandas as pd

df = pd.read_excel("data.xlsx")
beijing_sales = df.loc[(df['City'] == 'Beijing') & (df['Date'] >= '2021-06-01') & (df['Date'] <= '2021-06-30')]
beijing_sales.to_excel("beijing_sales.xlsx", index=False)

示例二

Excel 文件 data.xlsx 包括订单编号、日期、客户姓名、商品名称和数量五列数据。需要筛选出 2021 年 1 月份至 4 月份下单客户为“张三”并购买了“苹果”商品的订单,将结果输出到新文件 zhangsan_apple_orders.xlsx 中。

import pandas as pd

df = pd.read_excel("data.xlsx")
start_date = "2021-01-01"
end_date = "2021-04-30"
zhangsan_apple_orders = df.loc[(df['Date'] >= start_date) & (df['Date'] <= end_date) & (df['客户姓名'] == '张三') & (df['商品名称'] == '苹果')]
zhangsan_apple_orders.to_excel("zhangsan_apple_orders.xlsx", index=False)

以上就是利用 Python 进行 Excel 数据筛选的完整实例教程。通过这种方式,我们可以更加便捷地处理 Excel 数据,并输出到新的 Excel 文件中,极大地提高了工作效率。