打工人未来必备技能:Python 操作excel表格 openpyxl的基本使用

本文介绍了Python中使用openpyxl模块进行Excel文件的操作,包括创建、读取、保存工作簿,创建和修改工作表,以及单元格的访问、赋值、样式设置等。通过实例展示了如何进行行、列的增删,单元格的合并与取消合并,以及时间格式和公式的使用。此外,还提及了样式和字体的定制。对于需要处理Excel数据的Python开发者来说,这是一个实用的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在工作中时常会遇到将部分数据导入到excel表格的情况,这时Python的好处可见一斑。Python操作数据表格大多使用openpyxl模块,下面介绍一下其基本使用。

零.首先

当然先先安装该模块了

1.pip install openpyxl

一.工作簿

0.创建工作簿

from openpyxl import Workbook

wb=Workbook()

1.保存工作簿

注意:若是已经存在同名文件则覆盖

wb.save("E:/save.xlsx")

2.文件加载

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
print(wb2.sheetnames)

3.文件存为流

在这里插入图片描述
您可以指定属性template = True,以将工作簿另存为模板:

在这里插入图片描述
或将此属性设置为False(默认)以另存为文档

在这里插入图片描述

二.工作表

0.创建工作表

有了工作簿后就可要创建工作表了工作簿默认至少有一张表我们可以这样获取

ws=wb.active

如果要创建表可以这样创建

ws1=wb.create_sheet("sheet01")#创建新表默认末尾
ws2=wb.create_sheet("sheet02",0)#创建新表位置是首位

保存一下工作簿

wb.save("E:/save.xlsx")

查看效果,sheet02排在首位,Sheet01排在末尾

在这里插入图片描述
1.拷贝(复制)工作表

注意点:仅能在单个工作簿中进行操作,不能跨工作簿操作

source=wb.active
target=wb.copy_worksheet(source)

2.修改工作表名

ws.title="modify name"

3.获取工作表对象

可以用工作表名和工作簿对象获取工作表对象

ws=wb["modify name"]

4.获取当前的工作表列表

print(wb.sheetnames)

在这里插入图片描述
5.样式

  • 修改工作表标签颜色
ws.sheet_properties.tabColor="DC143C"

在这里插入图片描述
0.获取单元格并赋值

方式一

 c=ws['A4']
 ws["A4"]=5

方式二

c=ws.cell(row=4,column=1)
c.value=5
#or
ws.cell(row=4,column=1,value=5)

第二种可以直接遍历赋值

在这里插入图片描述
第二种可以直接遍历赋值

for c in range(1,21):   
 vc=chr(64 + c)  
   for r in range(1,21):      
     v=vc+str(r)       
      ws.cell(row=r,column=c,value=v)

在这里插入图片描述
1.访问多个单元格

切片访问

cell_range =ws['A1':'C2']

在这里插入图片描述
即如图所示区域

在这里插入图片描述
2.行或列的范围

在这里插入图片描述
在这里插入图片描述
3.合并/取消合并单元格

合并单元格:

ws.merge_cells('A1:G1')

在这里插入图片描述
拆分单元格:

ws.unmerge_cells('A1:G1')

在这里插入图片描述
4.增加/删除行/列

ws.insert_rows(7)#在原7行前插入一空白行

在这里插入图片描述

ws.delete_rows(7)#删除第7
ws.delete_cols(1)#删除第1

在这里插入图片描述

ws.insert_cols(1)#增加第1

在这里插入图片描述
5.移动单元格

ws.move_range("C2:D10", rows=-1, cols=2)
#将选中的单元格向上移动一行再向右移动两列

如图所示

在这里插入图片描述
6.值

直接按行取值

for row in ws.values:    
 for value in row:    
      print(value)

没有限制直接打印全部

for row in ws.iter_rows(values_only=True):   
    print(row)

同理iter_cols()也是一样

时间格式

ws['A1']=datetime.datetime(2019,1,11)
ws.number_format
'yyyy-mm-dd hh:mm:ss'

在这里插入图片描述
使用公式

ws['A1']='=SUM(2,3)'

在这里插入图片描述

7.样式

默认样式

在这里插入图片描述
有两种类型的样式:单元样式和命名样式,也称为样式模板。

单元样式

from openpyxl.styles import Font
ft = Font(color="FF0000")
ws["A1"].font=ft
ws["C1"].font=Font(color="000080",italic=True)

样式复制

ft = Font(color="FF0000")ft1=copy(ft)

单元格填充

ws["A2"].fill=PatternFill("solid", fgColor="7F7F7F")

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值