python操作excel_python操作Excel学习笔记,以后储存数据 办公很轻松!

e7458c929ebe83f3a2f4f20bdd571100.gif

微软的Windows操作系统在PC端具有碾压性的优势,它的Office办公软件在我们的日常工作学习中的应用可以说是无处不在。其中Excel是可编程性最好的办公应用,Python中的openpyxl模块能够对Exel文件进行读取、修改以及创建,在处理大量繁琐重复的Excel文件时,openpyxl模块让计算机自动进行处理成为可能。

本文主体将分为两大部分,第一部分介绍openpyxl模块的基本方法,主要涉及Excel的读取写入等方法,第二部分实践4个例子。

01

准备

安装openpyxl

openpyxl模块为Python的第三方库,需要使用pip指令进行安装:pip install openpyxl;安装完成之后再控制台输入import openpyxl回车之后没有报错则说明成功安装。

02

读取EXCEL

读取内容

该模块能够让Python读取Excel文件,以下为读取例子:

c33d5f9c6e85ede760cbb6747fb20a0c.png

389ba0f5831c7fc5fa6d54a7953fe8dd.png

执行以上代码输出结果为:

0b6626225675a7304621973342cc495d.png

在上述例子中,我们使用了这个模块的一些方法。使用wb = openpyxl.load_workbook('example4.xlsx')加载了example4.xlsx文件,存储再wb变量中;接着我们使用wb所指向的对象的get_sheet_names()方法获取这个工作簿的所有工作表的名称;使用get_active_sheet()方法获取活跃的工作表,即打开Excel文件默认展示的工作表;使用get_sheet_by_name()方法获取特定名称的工作表;接着我们获取单个单元格的值以及一个范围单元格的值。

03

写入EXCEL

写入内容

与Python中给变量赋值类似,openpyxl模块使用“=”赋值的方式将内容写入对应的单元格。在example4.xlsx文件中的“Sheet”工作表为空,我们现在往其中的单个单元格以及特定范围单元格写入内容。

写入前的“Sheet”工作表:

4150ca2c039689beb6d121b1f606ce12.png

程序代码:

04e19c37763d738f553d385384c516ef.png

写入后的“Sheet”工作表:

fc30312f291f48a509178edceba19afb.png

通过以上例子我们成功的将值写入Excel文件,可以看给特定单元格赋值的方法有两种,一种是sheet['C4'].value = “值”的形式,另一种时sheet.cell(row=4,column=4).value = “值”的形式,两者效果等效,都是在C4单元格写入值,为了配合循环的使用,使用后一种更加方便。

除了以上的方法外,还有获取工作表大小、字体设置等的方法,在后面的实例中会有使用。其他更多的方法可以网上查询或到官方网站查阅文档:https://openpyxl.readthedocs.io/en/stable/

04

4个小例子

基于之前介绍的基本方法我们来实现4个小例子。

第一个例子的要求为:创建程序 ,从命令行接受数字 N,在一个 Excel 电子表格 中创建一个 N×N 的乘法表,另外行 1 和列 A 应该用做标签,应该使用粗体。最终的实现效果如下:

5c940ef30f4166c82b497b81f964ca98.png

这个例子的思路首先要将第一行所有列的值,以及第一列所有行的值写入;接着某一个单元格的值就应该等于这个单元格所有行的第一列的值乘以所在列的第一行的值。具体实现如下:

4a3ba1887da9549f540bfda1dd1c59cd.png

c9b4557b0e3bdce82b4268f19d2a6319.png

这里第一步我们使用openpyxl.Workbook()函数创建了一个对象,并将该对象的引用返回存在wb变量中,而不是从已有的Excel文件加载。

第二个例子要求为:创建一个程序,它接受两个整数和一个文件名字符串作为 命令行参数。我们将第一个整数称为 N,第二个整数称为 M。程序应该从第 N 行开 始,在电子表格中插入 M 个空行。最终实现如下,在第4行插入5个空行:

5337d34f5cee8c0f9555acd46a402c96.png

实现思路为:先将前N行的数据存起来,原封不动放到新的工作表中;第N+1行到最后,每个单元格的行加M,整体后移M。实现代码如下:

f3e71616de325716dc2d7265e7a05eb8.png

05966f70158bb4f31b9ee79c65b12a34.png

第三个例子为:编写一个程序,翻转电子表格中行和列的单元格。例如,第 5 行第 3 列的值将 出现在第 3 行第 5 列(反之亦然)。这应该针对电子表格中所有单元格进行。实现前后效果如下:

095770b2f8563a88d4856064bef6f2a9.png

ba4f52fc5feb5c9102ddd54a5132c16a.png

实现思路为:逐行获取值,存为列表;最后将所有的行存成一个大的列表,这样“列表”[ i ][ j ]获得的就为第i行第j列的单元格的值;最后逐一取出列表的值,赋值给新列表第j行第i列的单元格。具体实现如下:

f3d60aee44ec975056513dd40733f345.png

601a1567ae8e5a7de0a623ae971ad78b.png

第四个例子为:编写一个程序,读入几个文本文件的内容,并 将这些内容插入一个电子表格,每行写入一行文本。第一个文本文件中的行将写入 列 A 中的单元格,第二个文本文件中的行将写入列 B 中的单元格,以此类推。

这里我准备了几份文本文件,我们将这些文件以单元格的形式写入Exel文件:

7acb7cc4e6800d9f344147fbef70d354.png

实现的效果如下

d1e00d73ad4ef0fe0bf75ad054a17cdb.png

实现思路:使用os库的listdir()方法找到所在目录的所有文件,接着找出.txt文件,循环遍历获取文件名;使用文件打开的方法打开文件,使用readlines()读取内容以列表形式返回所有的内容;最后遍历这个列表写入Excel文件。详细实现如下:

e0fa590e32ad3a223afb6b0309ae87b9.png

1bce80dfa1e3b1e041dbb1654f2d4f77.png既然可以从文件写入Excel表格,反过来也可以将Excel中的内容写入文件,以列为单位,一列代表一个文件,写到txt文件中。有兴趣的看官可以尝试一下。

05

结束

以上为Python操作Excel的基本方法,看起来好想没有想象中那么自动化,但是这些都是最基本的操作。就好比做菜用到的原材料、调料等,但是不同的人做出来的菜水平不一,这里用到的方法可以看作时原材料,最终实现的功能看作做好的菜,做出来的菜好不好吃,做出来的功能好不好用,就看想法、看技术实现了。

ps:推荐一下我建的python学习交流扣扣qun:937667509,群里有免费的视频教程,开发工具、电子书籍、项目源码分享。学习python web、python爬虫、数据分析、大数据,人工智能等技术有不懂的可以加入一起交流学习,一起进步!

记得关注评论、转发、收藏哟

长按下面二维码关注我

d16898509297f3e3fc880a70a2a13c6e.png

微信公众号:python教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值