Python操作Excel常用方法汇总

简介: Python操作Excel常用方法汇总

引言

Python是一种功能强大的编程语言,它可以用来处理各种类型的数据,包括Excel文件。在Python中,我们可以使用多种库来操作Excel文件,其中最常用的库是pandas和openpyxl。本文将介绍使用这两个库来读取、写入和处理Excel文件的常用方法。

一、使用pandas库操作Excel

pandas库是Python中一个流行的数据处理库,它提供了许多方便的方法来读取、写入和处理数据。下面是使用pandas库操作Excel的常用方法:

1、读取Excel文件

使用pandas库读取Excel文件非常简单,可以使用read_excel()函数来实现。下面是一个示例代码:

import pandas as pd  
  
# 读取Excel文件  
df = pd.read_excel('example.xlsx')

在上面的代码中,我们使用pd.read_excel()函数读取了一个名为example.xlsx的Excel文件,并将结果存储在一个DataFrame对象中。

2、写入Excel文件

使用pandas库将数据写入Excel文件也非常方便,可以使用to_excel()函数来实现。下面是一个示例代码:

import pandas as pd  
  
# 创建一个DataFrame对象  
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}  
df = pd.DataFrame(data)  
  
# 将DataFrame对象写入Excel文件  
df.to_excel('output.xlsx', index=False)

在上面的代码中,我们创建了一个包含姓名和年龄数据的DataFrame对象,并使用to_excel()函数将数据写入了一个名为output.xlsx的Excel文件中。index=False参数表示不将行索引写入Excel文件中。

3、处理Excel数据

使用pandas库处理Excel数据非常灵活,可以通过对DataFrame对象进行各种操作来实现。下面是一个示例代码:

import pandas as pd  
  
# 读取Excel文件  
df = pd.read_excel('example.xlsx')  
  
# 对数据进行处理  
df['Age'] = df['Age'].astype(int)  # 将年龄列转换为整数类型  
df = df.dropna()  # 删除包含空值的行  
df = df.sort_values('Age')  # 按年龄排序

在上面的代码中,我们首先使用pd.read_excel()函数读取了一个Excel文件,并将数据存储在一个DataFrame对象中。然后,我们对数据进行了处理,包括将年龄列转换为整数类型、删除包含空值的行、按年龄排序等操作。

二、使用openpyxl库操作Excel

openpyxl是一个专门用于处理Excel文件的库,它支持读取、写入和处理Excel文件的各个部分,包括工作表、单元格等。下面是使用openpyxl库操作Excel的常用方法:

1、读取Excel文件

使用openpyxl库读取Excel文件需要打开文件并获取工作簿对象,然后可以访问工作表、单元格等不同部分。下面是一个示例代码:

from openpyxl import load_workbook  
  
# 打开Excel文件并获取工作簿对象  
wb = load_workbook('example.xlsx')  
  
# 获取工作表对象和单元格对象  
ws = wb.active  # 获取活动工作表对象  
cell = ws['A1']  # 获取A1单元格对象

2、写入Excel文件

使用openpyxl库写入Excel文件需要创建一个新的工作簿对象,然后添加工作表、单元格等不同部分。下面是一个示例代码:

from openpyxl import Workbook  
  
# 创建一个新的工作簿对象  
wb = Workbook()  
  
# 创建一个新的工作表对象并命名为"Sheet1"  
ws = wb.active  
ws.title = "Sheet1"  
  
# 创建一个单元格对象并设置值为"Hello, World!"  
cell = ws['A1']  
cell.value = "Hello, World!"  
  
# 保存工作簿到文件"output.xlsx"  
wb.save("output.xlsx")

在上面的代码中,我们首先创建了一个新的工作簿对象,然后添加了一个名为"Sheet1"的工作表对象。接着,我们创建了一个单元格对象并设置其值为"Hello, World!"。最后,我们将工作簿保存到名为"output.xlsx"的文件中。

3、处理Excel数据

使用openpyxl库处理Excel数据可以通过访问和修改单元格、工作表等不同部分的数据来实现。下面是一个示例代码:

from openpyxl import load_workbook  
  
# 打开Excel文件并获取工作簿对象  
wb = load_workbook('example.xlsx')  
  
# 获取工作表对象和单元格对象  
ws = wb.active  
cell = ws['A1']  
  
# 处理数据并设置单元格的值  
cell.value = "Hello, World!" + str(cell.value)  
  
# 保存工作簿到文件"output.xlsx"  
wb.save("output.xlsx")

在上面的代码中,我们首先打开了名为"example.xlsx"的Excel文件并获取了工作簿对象。然后,我们获取了A1单元格对象并访问了其值。接着,我们将字符串"Hello, World!"与单元格的值拼接起来,并将结果赋值给单元格对象。最后,我们将工作簿保存到名为"output.xlsx"的文件中。

三、高级功能

除了基本的读取、写入和处理Excel数据,openpyxl库还提供了许多高级功能,例如格式化单元格、添加图表等。下面是一个示例代码,演示了如何使用openpyxl库创建Excel图表:

from openpyxl import Workbook  
from openpyxl.chart import BarChart, Reference  
  
# 创建一个新的工作簿对象  
wb = Workbook()  
  
# 创建一个新的工作表对象并命名为"Sheet1"  
ws = wb.active  
ws.title = "Sheet1"  
  
# 创建一些数据  
data = [  
    ['Country', 'Population'],  
    ['China', 1403500365],  
    ['India', 1363407782],  
    ['United States', 3293302651],  
    ['Indonesia', 276361783],  
    ['Pakistan', 225199937],  
]  
  
# 将数据写入工作表  
for row in data:  
    ws.append(row)  
  
# 创建一个数据引用对象  
chart_data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=6)  
  
# 创建一个条形图对象并设置标题和数据引用对象  
chart = BarChart()  
chart.title = "Top 5 Countries by Population"  
chart.add_data(chart_data)  
  
# 将图表添加到工作表中  
ws.add_chart(chart, "E5")  
  
# 保存工作簿到文件"output.xlsx"  
wb.save("output.xlsx")

在上面的代码中,我们首先创建了一个新的工作簿和工作表对象,并添加了一些数据。然后,我们使用Reference类创建了一个数据引用对象,该对象引用了工作表中的某些列和行。接着,我们创建了一个条形图对象并设置标题和数据引用对象。最后,我们将图表添加到工作表中,并将工作簿保存到名为"output.xlsx"的文件中。

总结

在本文中,我们介绍了使用pandas和openpyxl库进行Excel数据操作的方法。通过使用pandas库的read_excel函数,我们可以轻松地读取Excel文件并将数据存储在DataFrame对象中。使用to_excel函数,我们可以将DataFrame对象中的数据写入Excel文件中。此外,我们还介绍了使用openpyxl库来处理Excel数据的各种方法,包括访问和修改单元格、工作表等不同部分的数据,以及创建图表等高级功能。

总之,使用pandas和openpyxl库可以方便地操作Excel数据,包括读取、写入和处理数据。这些库提供了灵活和高效的方法来处理Excel文件,可以帮助我们更好地分析和利用Excel数据。

目录
相关文章
|
6月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
501 1
|
7月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
244 2
|
7月前
|
调度 Python
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
200 0
|
7月前
|
传感器 大数据 API
Python数字限制在指定范围内:方法与实践
在Python编程中,限制数字范围是常见需求,如游戏属性控制、金融计算和数据过滤等场景。本文介绍了五种主流方法:基础条件判断、数学运算、装饰器模式、类封装及NumPy数组处理,分别适用于不同复杂度和性能要求的场景。每种方法均有示例代码和适用情况说明,帮助开发者根据实际需求选择最优方案。
331 0
|
7月前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
6月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
898 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
5月前
|
人工智能 Java Linux
Python高效实现Excel转PDF:无Office依赖的轻量化方案
本文介绍无Office依赖的Python方案,利用Spire.XLS、python-office、Aspose.Cells等库实现Excel与PDF高效互转。支持跨平台部署、批量处理、格式精准控制,适用于服务器环境及自动化办公场景,提升转换效率与系统稳定性。
622 7
|
5月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
555 0
|
7月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
385 4
|
6月前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
171 0

热门文章

最新文章

推荐镜像

更多