Pandas实现Excel文件读取,增删,打开,保存操作

发布时间:2023-4-11 15:27

Pandas 是一种基于 NumPy 的开源数据分析工具,用于处理和分析大量数据。Pandas 模块提供了一组高效的工具,可以轻松地读取、处理和分析各种类型的数据,包括 CSV、Excel、SQL 数据库、JSON 等格式的数据。

一、Pandas 的主要函数包括

pd.read_csv() / pd.read_excel() / pd.read_sql() 等:读取不同格式的数据文件或 SQL 数据库的数据。 DataFrame():创建数据框。 df.head() / df.tail():查看数据框的前几行或后几行。 df.info():查看数据框的基本信息。 df.describe():查看数据框的统计信息。 df.drop():删除数据框的行或列。 df.rename():重命名数据框的行或列。 df.sort_values():按照指定列排序数据框。 df.groupby():按照指定列分组数据框。 df.apply():对指定列应用函数。 pd.concat():合并数据框。 pd.merge():合并数据框的数据。 df.to_csv() / df.to_excel() / df.to_sql() 等:将数据框保存到不同格式的数据文件或 SQL 数据库中。 以上是 Pandas 的一些常用函数,这些函数使得数据的读取、处理和分析变得更加方便和高效。

二、使用步骤

1.简单示例

下面是 Pandas 对 Excel 文件进行读取、增删、打开、保存等操作的代码实现:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 查看数据
print(df)

# 增加一列数据
df['New Column'] = [1, 2, 3, 4, 5]

# 删除一列数据
df = df.drop('New Column', axis=1)

# 打开 Excel 文件
with pd.ExcelWriter('example.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)

上述代码中,我们首先使用 pd.read_excel() 函数读取名为 example.xlsx 的 Excel 文件的 Sheet1 工作表,并将其存储在 df 变量中。接着,我们使用 print() 函数查看数据。

接下来,我们使用 df[‘New Column’] = [1, 2, 3, 4, 5] 增加一列新数据,表示新列的数据分别为 1、2、3、4 和 5。然后,我们使用 df = df.drop(‘New Column’, axis=1) 删除刚刚增加的一列数据。

最后,我们使用 pd.ExcelWriter() 函数打开 Excel 文件,然后使用 df.to_excel() 函数将数据写入名为 example.xlsx 的工作表 Sheet1 中,并将索引列排除在外。

2.保存Excel操作

Pandas 可以通过 to_excel() 函数将数据框保存到 Excel 文件中。下面是一个示例代码,演示如何将数据框保存到 Excel 文件中:

import pandas as pd

# 创建数据框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)


# 保存数据框到 Excel 文件
df.to_excel('example.xlsx', index=False)

在上述代码中,我们首先创建了一个包含姓名、年龄和性别信息的数据字典 data,然后使用 pd.DataFrame() 函数将其转换为数据框 df。最后,我们使用 df.to_excel() 函数将数据框保存到名为 example.xlsx 的 Excel 文件中,并将索引列排除在外。

在 to_excel() 函数中,我们可以设置一些参数来控制保存的格式和内容,例如:

sheet_name:指定要保存的工作表名称。 header:设置是否包含表头行,可以设置为 True 或 False。 index:设置是否包含索引列,可以设置为 True 或 False。 startrow 和 startcol:设置数据框的起始行和列。 float_format:设置浮点数的输出格式。 encoding:设置保存文件时使用的编码格式。 需要注意的是,在使用 to_excel() 函数保存数据框到 Excel 文件时,需要安装相应的依赖库 openpyxl 或 xlsxwriter。如果没有安装这些依赖库,可以使用以下命令安装:

pip install openpyxl
pip install xlsxwriter

安装完依赖库之后,就可以正常地将数据框保存到 Excel 文件中了。

3.删除和添加数据

在 Pandas 中,可以使用 drop() 函数删除数据框中的一行或一列数据,使用 append() 函数添加一行或一列新的数据。下面是示例代码,演示如何删除一行或一列数据以及添加一行或一列新的数据:

import pandas as pd

# 创建数据框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 删除一行数据
df = df.drop(0)  # 删除第一行数据
print(df)

# 删除一列数据
df = df.drop('Gender', axis=1)  # 删除“Gender”列
print(df)

# 添加一行新数据
new_data = {'Name': 'Daisy', 'Age': 24, 'Gender': 'F'}
df = df.append(new_data, ignore_index=True)  # 添加一行新数据
print(df)

# 添加一列新数据
new_column = ['A', 'B', 'C', 'D']
df['NewColumn'] = new_column  # 添加一列新数据
print(df)

在上述代码中,我们首先创建了一个包含姓名、年龄和性别信息的数据字典 data,然后使用 pd.DataFrame() 函数将其转换为数据框 df。接着,我们使用 drop() 函数删除了第一行数据和“Gender”列,并使用 append() 函数添加了一行新数据和一列新数据。最后,我们打印出修改后的数据框。

在 drop() 函数中,我们需要指定要删除的行或列的标签,并设置参数 axis=0 表示删除行,设置 axis=1 表示删除列。

在 append() 函数中,我们需要指定要添加的新数据,可以是字典、列表或数据框。参数 ignore_index=True 表示忽略原始数据框的索引,并为新添加的行分配新的索引值。

添加新列时,我们可以直接为数据框 df 新建一个列,并将新数据赋值给这个列即可。需要注意的是,新数据的长度必须与数据框的行数相同。

4.添加新的表单

在 Pandas 中,可以使用 ExcelWriter() 对象来向 Excel 文件中添加新的表单。下面是示例代码,演示如何向 Excel 文件中添加新的表单:

import pandas as pd

# 读取 Excel 文件
excel_file = pd.ExcelFile('example.xlsx')

# 创建 ExcelWriter 对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')

# 读取原始数据表单
df = pd.read_excel(excel_file, sheet_name='Sheet1')

# 添加新表单
new_data = {'Name': ['Alice', 'Bob', 'Charlie'],
            'Age': [25, 30, 35]}
df_new = pd.DataFrame(new_data)
df_new.to_excel(writer, sheet_name='Sheet2', index=False)

# 保存 Excel 文件
writer.save()

在上述代码中,我们首先使用 ExcelFile() 函数读取了一个名为 example.xlsx 的 Excel 文件。接着,我们使用 ExcelWriter() 函数创建了一个名为 writer 的 ExcelWriter 对象,用于向 Excel 文件中添加新的表单。然后,我们使用 read_excel() 函数读取了原始数据表单,并将其存储在数据框 df 中。接着,我们创建了一个包含姓名和年龄信息的数据字典 new_data,并使用 pd.DataFrame() 函数将其转换为数据框 df_new。然后,我们使用 to_excel() 函数将数据框 df_new 写入到名为 Sheet2 的新表单中,并设置参数 index=False 表示不将索引写入 Excel 文件。最后,我们使用 save() 函数保存 Excel 文件。

需要注意的是,在使用 ExcelWriter() 对象向 Excel 文件中添加新的表单时,需要指定参数 engine=‘openpyxl’,以使用 openpyxl 引擎来处理 Excel 文件。同时,在使用 to_excel() 函数写入数据时,需要传递 ExcelWriter 对象和新表单的名称。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了pandas对excel文档的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。希望对看到的小伙伴有帮助。

GoLang与Java各自生成grpc代码流程介绍 生活杂谈

GoLang与Java各自生成grpc代码流程介绍

1.背景: 由于公司的日志系统使用的是plumelog,最近生产环境老是报 jedis连接池不够,导致丢失日志,而且服务老是重启,怀疑跟日志系统有关,于是自己改造plumelog,使用go grpc...
MySQL同步数据Replication的实现步骤 生活杂谈

MySQL同步数据Replication的实现步骤

MySQL提供了Replication功能,可以实现将一个数据库的数据同步到多台其他数据库。前者通常称之为主库(master),后者则被称从库(slave)。MySQL复制过程采用异步方式,但延时非常...
C#编程中最容易犯的7种编写错误分享 生活杂谈

C#编程中最容易犯的7种编写错误分享

编程时犯错是必然的,这篇文章主要和大家来分享7个C#编程中最容易犯的7种编写错误,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下! 1、拼接字符串 在C#编程中,字符串类型的处理是比较...