📜  如何使用Python Pandas 在 Excel 中过滤数据并将其另存为新文件?(1)

📅  最后修改于: 2023-12-03 15:38:07.437000             🧑  作者: Mango

如何使用Python Pandas 在 Excel 中过滤数据并将其另存为新文件?

在数据分析中经常需要对Excel表格中的数据进行操作,比如过滤、排序、分类、统计等等。Pandas是一个强大的数据分析工具,它提供了丰富的功能来处理和分析数据。在Pandas中,可以使用read_excel函数读取Excel表格,然后使用DataFrame进行数据操作。

下面我们将演示如何使用Pandas在Excel中过滤数据并将其另存为新文件。我们将使用一个示例数据集来演示该过程。

数据示例

我们将使用一个包含学生信息的Excel表格来演示该过程。数据包含学生姓名、年龄、性别、成绩等信息。我们将使用Pandas来筛选出成绩在80分以上的学生,并将筛选结果保存到新的Excel表格中。

前置条件

在开始编写代码前,我们需要安装Pandas和openpyxl库。在终端中运行以下命令来安装这两个库:

pip install pandas openpyxl
读取Excel表格

我们首先需要读取Excel表格中的数据。使用Pandas的read_excel函数可以读取Excel文件,并将其转换为DataFrame格式。以下是读取Excel表格的示例代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('students.xlsx')
print(df)

示例代码说明:

  • 使用pandas模块导入pandas库。
  • 使用read_excel函数读取students.xlsx文件,并将其转换为DataFrame格式。
  • 打印DataFrame的内容。
过滤Excel数据

一旦我们读取了Excel文件的内容,我们可以使用Pandas对其进行过滤。Pandas提供了多种函数来实现数据过滤,如loc、iloc、where等。

在本例中,我们将使用loc函数来过滤数据。以下是筛选成绩在80分以上的学生的示例代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('students.xlsx')

# 筛选成绩在80分以上的学生
filtered_df = df.loc[df['成绩'] >= 80]
print(filtered_df)

示例代码说明:

  • 使用pandas模块导入pandas库。
  • 使用read_excel函数读取students.xlsx文件,并将其转换为DataFrame格式。
  • 使用loc函数过滤成绩在80分以上的学生。
  • 打印过滤后的DataFrame内容。
将筛选结果保存到新文件

最后,我们需要将筛选结果保存到新的Excel表格中。使用Pandas的to_excel函数可以将DataFrame转换为Excel文件格式,并保存到指定位置。

以下是将筛选结果保存到新文件的示例代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('students.xlsx')

# 筛选成绩在80分以上的学生
filtered_df = df.loc[df['成绩'] >= 80]

# 将筛选结果保存到新文件
filtered_df.to_excel('filtered_students.xlsx', index=False)

示例代码说明:

  • 使用pandas模块导入pandas库。
  • 使用read_excel函数读取students.xlsx文件,并将其转换为DataFrame格式。
  • 使用loc函数过滤成绩在80分以上的学生。
  • 使用to_excel函数将筛选结果保存到filtered_students.xlsx文件中。
完整代码

以下是完整的Python代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('students.xlsx')

# 筛选成绩在80分以上的学生
filtered_df = df.loc[df['成绩'] >= 80]

# 将筛选结果保存到新文件
filtered_df.to_excel('filtered_students.xlsx', index=False)

# 打印筛选结果
print(filtered_df)

以上代码可以将Excel表格中成绩在80分以上的学生筛选出来,并将筛选结果保存到新的Excel表格中。