Python操作Excel常用方法汇总

news2024/11/19 9:36:40

目录

引言

一、使用pandas库操作Excel

1、读取Excel文件

2、写入Excel文件

3、处理Excel数据

二、使用openpyxl库操作Excel

1、读取Excel文件

2、写入Excel文件

3、处理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数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1225990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB相关基础操作(库、集合、文档)

文章目录 一、库的相关操作1、查看数据库2、查看当前库3、创建数据库4、删除数据库 二、集合的相关操作1、查看库中所有集合2、创建集合2.1、显示创建2.2、隐式创建 3、删除集合 三、文档的相关操作1、插入文档1.1、插入单条文档1.2、插入多条文档1.3、脚本方式 2、查询文档3、…

电商平台革新:食派士小程序的无代码开发与广告推广集成

食派士小程序:无代码开发的连接神器 食派士小程序,作为上海食派士商贸发展有限公司的专利产品,是一种凭借无代码开发,就能实现与各种系统的连接和集成的电商解决方案。它采用无代码开发的方式,避免了API开发的复杂过程…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列8

文章目录 前言一、原始代码二、对每一行代码的解释:总结 前言 这是该系列原型网络的最后一段代码及其详细解释,感谢各位的阅读! 一、原始代码 if __name__ __main__:##载入数据labels_trainData, labels_testData load_data() # labels_…

常见树种(贵州省):001松类

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、华山松…

麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下载

麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下 棋牌室电脑灯控系统,需要安装一个灯控器,软件发出开灯和关灯的指令,相应的灯就打开或关闭。在点击开始计时的时候,开灯&#xff…

黔院长 | 为什么要调经络?原来通经络对人体健康如此重要!

人体的组成较为复杂,在外有皮肤、毛发;在内有经络、五脏;其他还有我们看不到的精气、津液等等,也因此人体会生各种各样的疾病。 为什么说经络畅通对人体健康如此重要?身体内外始终是一个统一的整体,内外之间…

vue3基础学习

##以前怎么玩的? ###MVC Model:Bean View:视图 Controller ##vue的ref reactive ref:必须是简单类型 reactive:必须不能是简单类型 ###创建一个Vue项目 npm init vuelatest ###生命周期 ###setup相关 ####Vue2的一些写法 -- options API ####Vue3的写法 组合式API Vu…

Python —— Mock接口测试

前言 今天跟小伙伴们一起来学习一下如何编写Python脚本进行mock测试。 什么是mock? 测试桩,模拟被测对象的返回,用于测试 通常意义的mock指的就是mock server, 模拟服务端返回的接口数据,用于前端开发,第三方接口联调 为什么…

数据结构与算法-哈夫曼树与图

🌞 “永远积极向上,永远豪情满怀,永远热泪盈眶!” 哈夫曼树与图 🎈1.哈夫曼树🔭1.1树与二叉树的转换🔭1.2森林与二叉树的转换🔭1.3哈夫曼树🔎1.3.1哈夫曼树的概念&#x…

大数据HCIE成神之路之数学(2)——线性代数

线性代数 1.1 线性代数内容介绍1.1.1 线性代数介绍1.1.2 代码实现介绍 1.2 线性代数实现1.2.1 reshape运算1.2.2 转置实现1.2.3 矩阵乘法实现1.2.4 矩阵对应运算1.2.5 逆矩阵实现1.2.6 特征值与特征向量1.2.7 求行列式1.2.8 奇异值分解实现1.2.9 线性方程组求解 1.1 线性代数内…

基于STM32单片机数字电压表自动切换量程及源程序

一、系统方案 1、本设计采用这STM32单片机作为主控器。 2、液晶1602显示。 3、内部ADC采集电压0-12V,自动切换档位。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 u8 i; u16 a,b,c,d; u16 adcx; float adc; unsigned char datas…

AIGC实战 - 使用变分自编码器生成面部图像

AIGC实战 - 使用变分自编码器生成面部图像 0. 前言1. 数据集分析2. 训练变分自编码器2.1 变分自编码器架构2.2 变分自编码器分析 3. 生成新的面部图像4. 潜空间算术5. 人脸变换小结系列链接 0. 前言 在自编码器和变分自编码器上,我们都仅使用具有两个维度的潜空间。…

Alien Skin Exposure2024免费版图片颜色滤镜插件

Alien Skin Exposure一款非常专业的图片后期处理软件,内含500多种照片滤镜。是一款图片后期处理功能非常强大的软件。这款软件可以对图片的后期效果做很好的处理。 打开Alien Skin Exposure软件,会显示下面这个界面,如图1. ExposureX8win-安…

爱奇艺大数据离在线混部

混部作为一种提高资源利用率、降低成本的的方案,被业界普遍认可。爱奇艺在云原生化与降本增效的过程中,成功将大数据离线计算、音视频内容处理等工作负载与在线业务进行了混部,并且取得了阶段性收益。本文重点以大数据为例,介绍从…

图解API设计风格,看一眼就忘不了了!

点击下方“JavaEdge”,选择“设为星标” 第一时间关注技术干货! 免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案…

反弹Shell

概述 反弹shell(reverse shell)就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列7(承接系列6)

文章目录 前言一、原始代码---保存原型点,加载原型点二、代码逐行解释 前言 此部分为原型网络的两个函数,分别为保存原型点函数和加载原型点函数,与之前的系列相承接。 一、原始代码—保存原型点,加载原型点 def save_center(self,path):datas []for …

C/C++ 获取主机网卡MAC地址

MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址。这个地址是数据链路层(OSI模型的第二层)的一部分&#…

端口号大揭秘:网络世界的“门牌号”有多牛?

大家好,今天我们来聊一聊网络中的端口号。如果你以为端口号只是冷冰冰的数字,那你就大错特错了。端口号,这些看似枯燥的数字背后,隐藏着一个个生动的故事。 目录 大家好,今天我们来聊一聊网络中的端口号。如果你以为端…

odoo17前端js框架的演化

odoo17发布了,从界面上看,变化还是很明显的,比16更漂亮了,本来以为源码不会发生太大的变化,结果仔细一瞧,变化也不小。 1、打包好的文件数量和大小发生了变化 打包好的文件从两个变成了一个,在…