用python读写excel的强大工具:openpyxl——神文

【Python】Python读写Excel文件 1. Excel 文件格式概览 (.xls vs .xlsx)在深入 Python 库之前,理解 Excel 文件的两种主要格式至关重要:Python 生态系统中处理这两种格式的库通常是分开的,或者一个库专注于其中一种格式并可能依赖其他库处理另一种。2. 文件读写: 是一个强大且广泛使用的 Python 库,专门用于读写 文件。它的优点在于是一个纯 Python 库,不依赖外部 C 库或 Microsoft Office。它支持 Excel 的大部分特性,包括数据、格式、公式、图像、图表等。安装 ope 阅读详情



http://www.cnblogs.com/anpengapple/p/6399304.html?utm_source=itdadao&utm_medium=referral


用python读写excel的强大工具:openpyxl

最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一遍文件,这是神马思路?
所以,我还是觉得,应该放弃xls而转型xlsx。所以才有了这篇文章——xlwt、wlrd只能读写xls文件,而不能操作xlsx文件。
解决方案: openpyxl。这是一个非常简单的库,有几分钟就能上手了。安装非常简单,pip install openpyxl一步搞定,我就主要来说说对excel的操作。当然,前面废话那么多,同学们差不多也能猜到了吧,openpyxl只能操作xlsx文件而不能操作xls文件。
1、基本概念
在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。 Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。下面分读和写分别介绍几个常见的方法。
2、读取xlsx
为了做实验,我事先准备好了一个excel文档,里面有Sheet1,Sheet2,Sheet3这三个页,在Sheet3中填入了如下内容:
首先用
from openpyxl import load_workbook
引入库。
wb = load_workbook("template.xlsx")
打开一个xlsx文件。
print(wb.sheetnames)    # ['Sheet1', 'Sheet2', 'Sheet3']
可以看看打开的excel表里面有哪些sheet页。
sheet = wb.get_sheet_by_name("Sheet3")
读取到指定的Sheet页,sheet就变得神奇了,想要的内容都在这里。比如:
复制代码
print(sheet["C"])    # (<Cell Sheet3.C1>, <Cell Sheet3.C2>, <Cell Sheet3.C3>, <Cell Sheet3.C4>, <Cell Sheet3.C5>, <Cell Sheet3.C6>, <Cell Sheet3.C7>, <Cell Sheet3.C8>, <Cell Sheet3.C9>, <Cell Sheet3.C10>)      <-第C列
print(sheet["4"])    # (<Cell Sheet3.A4>, <Cell Sheet3.B4>, <Cell Sheet3.C4>, <Cell Sheet3.D4>, <Cell Sheet3.E4>)     <-第4行
print(sheet["C4"].value)    # c4     <-第C4格的值
print(sheet.max_row)    # 10     <-最大行数
print(sheet.max_column)    # 5     <-最大列数
for i in sheet["C"]:
  print(i.value, end=" ")    # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10     <-C列中的所有值
复制代码
3、写入xlsx
首先用
from openpyxl import Workbook
wb = Workbook()
创建一个工作表,然后
sheet = wb.active
找到活动的sheet页。空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值。
sheet.title = "New Shit"
这个属性是可读可写的。当然,这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。
往sheet页里面写内容就比较简单了,跟上面读一样,
sheet['C3'] = 'Hello world!'
for i in range(10):
  sheet["A%d" % (i+1)].value = i + 1
我们还可以进行花式操作,比如写写公式:
sheet["E1"].value = "=SUM(A:A)"
最后记得保存
wb.save('保存一个新的excel.xlsx')
之后可以打开看看
有木有觉得炒鸡简单?揍是这么强大。
其实这里还是有点小问题的,就是当我先用load_workbook读取一个excel,修改之后save成原来的文件,会报错: PermissionError: [Errno 13] Permission denied

我在网上查了查,没有找到什么相关的介绍,很多网页都说save的时候会覆盖原来的文件,但是实际上是不可以的。我也很绝望啊!实在不行,就只能迂回解决了:先保存成其他的一个文件名,然后把原来的文件删除,再把新文件改成原来的文件名。

openpyxl还有很多好玩的功能,只是我没有介绍,有兴趣的同学可以自己去探索一下。openpyxl的官网上面有非常完整的库的使用方法,虽然是英文的,但是很好读(地址: http://openpyxl.readthedocs.io/en/default/)。另外有一篇歪果仁写的教程( https://automatetheboringstuff.com/chapter12/),也写得很全面,可以看看。
分类:  Python
标签:  python,  openpyxl


python 封装openpyxl实现excel读写功能 说到python读写excel,想到的的就是xlrd、xlwt、openpyxl、pandas这几个库吧,最近用到读写excel,于是初略看了下这几个库的使用,xlrd用于读取excel的,xlwt用于写excel的,但不能写后辍为.xlsx的文件,openpyxl既能读也能写,感觉是前面两个的结合以及结合,用法也基本雷同,pandas功能比较强大,能读能写,还能各种数据分析,在excel表格中能... 阅读详情

相关推荐

如何用python读写excel文件_如何用Python读写Excel文件?最便捷的3种方式

python读写excel的方式有很多,这里我介绍3种方式,一种是利用xlrd和xlwt进行excel读写,一种是openpyxl读写,最后一种是利用pandas进行读写,下面我主要介绍一下3种方式读写的过程,实验环境win7+python3.6+pycharm5.0,主要步骤如下:为了方便演示,我这里新建了一个test.xls文件,主要内容如下,用于测试读excel的代码: 方法一:利用xlrd...

weixin_33700809的博客 4396

4种Python处理Excel数据的方法!

我们在日常工作中常常见到各种后缀的电子表格,例如最常见的xlsx以及较为常见的csv、xls等格式的表格。同样是电子表格,它们之间有什么区别吗?• xls为Excel早期表格格式。xls格式是Excel2003版本及其以前版本所生成的文件格式。其最大的特点就是:仅有65536行、256列。因此规模过大的数据不可以使用xls格式读写。• xlsx为Excel2007及其之后的表格格式,也是现在Excel表格的主流格式。

qq_46094651的博客 2万+

python读写excel遇到的几个坑

python读写excel遇到的几个坑 因为有一个文件需要处理,因此开始学习用python处理excel文件,以前一直用excel 的VBA,但学习了python之后,感觉python的功能强大,想用python来处理一下。 一、用什么库的坑 如果是只读excel ,推荐直接xlrd,速度快,兼容性也很高,非常好用 写:先用xlwt,速度也很快,但不兼容excel的xlsx,只能写xls,这倒方便...

weixin_45903952的博客 4719

全网最全Python操作Excel教程

0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库): 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 (1)什么是xlrd模块? python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。 (2)为什么使用xlrd模块? 在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。 xlrd模块可以用于读取Excel的数据,速度非常快,推荐使用! 官方文档:ht

feng的博客 13万+

用python读写excel的强大工具:openpyxl

最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一...

夫君子之行,静以修身,俭以养德,非淡泊无以明志,非宁静无以致远. 836

Python处理excel的强大工具-openpyxl

Python实现自动化办公、自动化测试数据驱动,都离不开对excel的操作,下面简单介绍下,如何使用Python的openpyxl库处理excel文档。首先,Python处理excel...

吾非同 3335

速学!4种Python处理Excel数据的方法!

xlwt模块只能写xls文件,不能写xlsx文件(写xlsx程序不会报错,但最后文件无法直接打开,会报错)。openpyxl模块可实现对excel文件的读、写和修改,只能处理xlsx文件,不能处理xls文件。CSV逗号分隔值文件格式,其以纯文本形式存储表格数据(数字和文本),可以用Excel软件打开。当收到的文件既有xls,又有xlsx时,先转换为统一格式再做统计修改更方便。与xls相比,它可以存储1048576行、16384列数据,存储相同数据,示例1:Python读取Excel文件特定数据。

m0_48891301的博客 1万+

游戏开发实战:如何在Unity中实现六边形网格地图(附完整代码)

本文详细介绍了在Unity中实现六边形网格地图的完整开发流程,从数学原理到实战代码。涵盖三种主流坐标系转换方法、距离计算算法对比、网格生成与渲染技巧,以及高级功能如网格高亮、寻路算法和性能优化策略。适合策略游戏、战棋类游戏开发者提升地图系统开发效率。

656

Python 处理 Excel 的14个常用操作详解

在这篇博客中,分享了使用 Python 处理 Excel 数据的各种技巧和方法。首先,学习了如何使用pandas库读取 Excel 文件,将表格数据转换为数据框架,为后续处理打下了基础。接着,介绍了数据筛选与过滤的方法,利用条件筛选功能,轻松地过滤和保留感兴趣的数据。然后,学习了数据排序的操作,通过pandas的排序功能,使数据更具可读性,更容易理解数据的结构和趋势。还分享了数据的批量操作,通过循环和函数,高效地对 Excel 数据进行批量处理,提高了代码的复用性和效率。学习了如何利用pandas。

涛哥聊Python 7468

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 308

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 312

Python Excel 操作全面总结

本文介绍了 Python Excel 基础操作,包括安装 Python Excel 库、读取 Excel 文件、写入 Excel 文件和修改 Excel 文件。这些操作是 Python Excel 操作的基础,掌握了这些操作,就可以进一步学习更高级的 Python Excel 操作了。在下一部分中,我们将介绍如何使用 Python Excel 库进行 Excel 数据的批量处理。本部分介绍了如何使用 Python 对多个 Excel 文件进行批量处理,包括读取、写入和修改。

极客代码 6262

西电计组实验一 存储器实验

计组实验报告 实验一 存储器实验——FPGA中LPM_ROM定制与读出实验 一.实验目的   1.掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法;   2.用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;   3.在初始化存储器编辑窗口编辑mif文件配置ROM;   4.验证FPGA中mega_lpm_ROM的功能。 二.实验原理   ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modu

Polaris的博客 1万+

如何用Python读写Excel文件?最便捷的3种方式

python读写excel的方式有很多,这里我介绍3种方式,一种是利用xlrd和xlwt进行excel读写,一种是openpyxl读写,最后一种是利用pandas进行读写,下面我主要介绍一下3种方式读写的过程,实验环境win7+python3.6+pycharm5.0,主要步骤如下: 为了方便演示,我这里新建了一个test.xls文件,主要内容如下,用于测试读excel的代码: 方法一:利用xl...

Python追梦 1万+

AI大模型学习(14)AI 小白入门!用 OpenCV+Python 打造人体姿态识别系统,超详细教程来了

这篇教程介绍了如何使用Python+OpenCV+MediaPipe搭建入门级人体姿态识别系统。主要内容包括:人体姿态识别的应用场景(如健身APP、体感游戏)、开发环境搭建(安装Python、OpenCV和MediaPipe库)、核心代码实现(通过30行代码完成摄像头姿态检测),以及进阶功能开发(深蹲动作纠正算法和PPT体感控制器)。教程详细解析了MediaPipe的BlazePose模型架构和33个关键点的生理学意义,并提供了多线程优化等性能提升方案。该项目适合AI初学者实践,无需复杂算法即可实现实时人体

isoft888的专栏,致力于C#/python分享物联网、大数据,神经网络的等领域,欢迎讨论交流! 1554

CentOS 7下Ollama+Dify+DeepSeek离线部署全攻略(附模型迁移技巧)

本文详细介绍了在CentOS 7无网环境下,从零开始离线部署Ollama、DeepSeek模型与Dify平台的完整实战攻略。内容涵盖基础环境规划、Ollama服务安装、模型文件迁移技巧、Docker引擎离线部署,以及Dify平台与本地Ollama服务的集成配置,为企业内网构建安全、可控的AI应用提供了一套经过验证的解决方案。

weixin_28826521的博客 350

教你使用python读写Excel表格(增删改查操作),使用openpyxl库

文章目录一、前言二、安装openpyxl三、openpyxl的使用1、创建Excel文件2、加载已存在的Excel文件3、创建sheet4、判断某个sheet是否存在5、遍历所有Sheet的名称6、写入单元格7、获取单元格的各个属性值8、遍历单元格9、最大行最大列10、删除行或列11、设置字体12、填充单元格颜色13、设置行高与列宽四、结束语 一、前言 嗨,大家好,我是新发。 最近需要做个小工具,可以通过python来读写Excel,实现增删改查操作。以前用的是xlrd和xlwt这两个python库,今天我

linxinfa的专栏 1万+

基于深度学习卷积神经网络的医学图像乳腺癌分类

一、项目背景与意义乳腺癌是女性最常见的恶性肿瘤之一,其早期发现和治疗对于提高患者的生存率和生活质量至关重要。然而,乳腺癌的诊断通常依赖于医生的经验和主观判断,这不仅耗时而且可能存在误差。近年来,深度学习技术特别是卷积神经网络(CNN)在图像处理领域取得了显著进展,为乳腺癌的自动分类提供了新的解决方案。本项目旨在利用深度学习卷积神经网络构建一套高效、准确的医学图像乳腺癌分类系统,辅助医生进行乳腺癌的早期诊断和治疗。二、技术实现。

2301_79810943的博客 976

python读写excel的强大工具:openpyxl

1.相关链接: 1)http://www.cnblogs.com/anpengapple/p/6399304.html?utm_source=itdadao&utm_medium=referral (首要推荐) 2)http://openpyxl.readthedocs.io/en/default/usage.html  (官网) 3)http://www.jianshu.com/p/642

qq_30975321的博客 758

CAPL与人工智能结合

AI模型是指通过机器学习算法训练得到的模型,可以用于分类、回归、聚类等任务。常见的AI模型包括神经网络、支持向量机、决策树等。在汽车电子系统中,AI模型可以用于故障诊断、驾驶行为分析、自动驾驶等场景。实时决策是指在汽车电子系统中,根据AI模型的预测结果,实时做出决策。实时决策可以用于自动驾驶、故障诊断等场景。通过本文的学习,读者应该对CAPL与人工智能结合有了初步的了解,并能够编写复杂的CAPL脚本。

闲人编程的博客 1482

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Python处理Excel】之openpyxl详解

本文介绍python中的openpyxl库它可以对Excel文件进行读写、修改、样式等操作

weixin_42636075的博客 2326

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python excel读写_用python读写excel的强大工具:openpyxl

最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一...

weixin_39842237的博客 247

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

python专题使用openpyxl操作excel

l am fine that reason for you

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 4557

python读写excel教程_用python读写excel的强大工具:openpyxl

最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一...

weixin_39929721的博客 132
上一篇: openpyxl 官网教程
下一篇: openpyxl代码实例
STN_LCD
博客等级 码龄15年 384粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值