使用Python对EXCEL数据的预处理

  • Post category:Python

以下是使用Python对Excel数据预处理的完整实例教程。

准备工作

在操作之前,我们需要安装以下两个Python包:

  • pandas:用于数据处理和分析;
  • openpyxl:用于读写Excel文件。

可以使用pip进行安装,命令如下:

pip install pandas openpyxl

示例1:去重处理

假设我们有一个Excel文件,其中一个sheet页中包含着大量学生的学号、姓名和班级等信息。我们想要进行去重处理,即将重复的记录进行删除,只保留唯一的记录。

首先,我们需要读取Excel文件,可以使用pandas包提供的read_excel函数。代码如下:

import pandas as pd

data = pd.read_excel('students.xlsx', sheet_name='Sheet1')

上述代码将Excel文件中第一个sheet页的数据读取到了data变量中。其中,’students.xlsx’是Excel文件的路径,’Sheet1’是sheet页名称,可以自行修改。

接下来,我们可以使用pandas包提供的drop_duplicates函数对数据进行去重处理。代码如下:

data.drop_duplicates(inplace=True)

上述代码中,inplace=True表示对原有数据进行修改,而不是返回一个新的数据集合。这里我们直接在原有数据集合上进行了去重操作。

最后,我们可以使用openpyxl包提供的函数将处理后的数据保存到Excel文件中。代码如下:

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

for r in dataframe_to_rows(data, index=False, header=True):
    ws.append(r)

wb.save('students_cleaned.xlsx')

上述代码中,我们首先创建了一个空的Excel文件,然后将处理后的数据按行写入到了新的sheet页中。最后,将数据保存到了新的Excel文件中(’students_cleaned.xlsx’为文件名)。

示例2:合并多个Excel文件

假设我们有若干个Excel文件,其中每个文件的一个sheet页中包含着某个部门的员工信息。我们想要将所有文件中这个部门员工的信息合并到一个Excel文件中。

首先,我们可以使用pandas包提供的read_excel函数,将多个Excel文件中指定sheet页的数据读取到一个DataFrame中。代码如下:

import pandas as pd
import glob

path = 'C:/path/to/files'  # 指定Excel文件所在的路径
files = glob.glob(path + '/*.xlsx')

data = pd.DataFrame()
for file in files:
    df = pd.read_excel(file, sheet_name='Sheet1')
    data = pd.concat([data, df])

上述代码中,我们首先使用glob包查找指定路径下的所有Excel文件(在Windows系统中,路径使用反斜杠’\’分隔,而在Linux系统中,路径使用斜杠’/’分隔)。然后,我们循环读取每个Excel文件中的数据,并将数据累加到一个DataFrame中。

接下来,我们需要进行一些数据清洗,例如删除重复记录、删除缺失值等。代码如下:

# 删除重复记录
data.drop_duplicates(inplace=True)

# 删除缺失值
data.dropna(inplace=True)

注意,在进行了数据清洗之后,我们需要将数据集合保存到一个新的Excel文件中。这里我们使用openpyxl包提供的函数进行操作。代码如下:

from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows

wb = Workbook()
ws = wb.active

for r in dataframe_to_rows(data, index=False, header=True):
    ws.append(r)

wb.save('merged.xlsx')

上述代码中,我们首先创建了一个新的Excel文件(’merged.xlsx’为文件名)。然后,将清洗后的数据按行写入到一个新的sheet页中,并保存到新的Excel文件中。

以上就是Python对Excel数据预处理的完整实例教程,示例包括了去重处理和合并多个Excel文件。