Python第三方常用模块openpyxl的简单介绍

 更新时间:2022年08月30日 10:49:46   作者:XWenXiang  
openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档,下面这篇文章主要给大家介绍了关于Python第三方常用模块openpyxl的相关资料,需要的朋友可以参考下

openpyxl

openpyxl模块属于第三方模块,是一个在 python 中能够处理 excel 文件的模块,还有比较出名的是xlrd、xlwt 分别控制excel文件的读写,这俩个能够兼容所有版本的文件。openpyxl 针对 excel 2003版本之前的兼容性可能不好 但是功能更加强大。

excel文件的版本及后缀
    2003版本之前 excel的文件后缀是xls
    2003版本之后 excel的文件后缀是xlsx、csv

创建文件

Workbook() —创建 excel 文件

使用 openpyxl 创建文件。只需导入Workbook类

from openpyxl import Workbook
wb = Workbook()
# 一个 excel 文件创建成功

Workbook.create_sheet() —创建 excel 工作簿

Workbook.create_sheet() 可以创建自定义名称的工作簿。括号里的参数是工作簿名称,还有一个参数是工作簿的位置,也可以不写

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)  # 创建了一个用户信息表并放在第一位,如下图

Sheet 工作簿是自动生成的

可以创建多个工作簿,并且它们按顺序排列。

Worksheet.title —给工作簿重命名

使用 Worksheet.title属性更改表名称

from openpyxl import Workbook

wb = Workbook()  # 创建 excel 文件
ws1 = wb.create_sheet('用户信息表', 0)  # 创建工作簿用户信息表放在第一位
ws2 = wb.create_sheet('bank_info')  # 创建工作簿bank_info
ws1.title = 'user_info'  # 更改工作簿用户信息表的名称
'''用代码保存一下后,如下图所示'''

用户信息表 被改名成 user_info

ws.sheet_properties.tabColor = " " 修改标题背景

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.sheet_properties.tabColor = 'FF6666'  # 将标题背景改为指定RRGGBB颜色代码
'''用代码保存一下后,如下图所示'''

变得更好看了…

Workbook.sheetname —查看 excel 所有工作簿

返回包含 excel 文件下所有工作簿名称的列表

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
print(wb.sheetnames)

打印结果 ['用户信息表', 'Sheet']

Workbook.copy_worksheet() —创建工作表的副本

Workbook.copy_worksheet()方法可以在单个工作簿中创建工作表的副本。 仅复制单元格(包括值、样式、超链接和注释)和某些工作表属性(包括尺寸、格式和属性)。不会复制所有其他工作簿/工作表属性 - 例如图像、图表。

获取修改数据

访问一个单元格

在 excel 中可以通过位置找到里面的内容,同样使用代码也能通过位置找到内容。

Worksheet[ ]

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1['A1'] = 'XWenXiang'  # ws1['A1'] 代表的是该表中的 A1 位置,我们可以将数据直接赋值给它
'''用代码保存一下后,如下图所示'''

此时的 A1 被填入内容 XWenXiang

Worksheet.cell()

----'除了直接获取位置还可以使用 Worksheet.cell()方法'-----
 
from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.cell(row=4, column=2, value=10)  

此方法是通过指定坐标的方式赋值,其中 row 参数代表行数, column 代表列数,value 是填入的数据。
'''用代码保存一下后,如下图所示'''

在第2列第4行的位置填入数字10

Worksheet.append()

Worksheet.append() 可以同时写入多个数据。

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.append(['name', 'age', 'gender'])
ws1.append(['XWenXiang', '15', 'man'])  # 要用 [] 括起来
'''用代码保存一下后,如下图所示'''

批量写入数据,重复数据还可以加一个循环写入。

公式

模块里使用的公式和 excel 中的公式是一样的

ws1['A6'] = '=sum(A4:A5)' # 对A4和A5进行求和并写入到A6

访问多个单元格

可以使用切片访问单元格范围

x = ws['A1':'C2']
x1 = ws['C']
x2 = ws['C:D']
x3 = ws[10]
x4 = ws[5:10]

Worksheet.values —获取单元格值

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet('用户信息表', 0)
ws1.append(['name', 'age', 'gender'])
ws1.append(['XWenXiang', '15', 'man'])

for row in ws1.values:
    print(row)

打印结果:
('name', 'age', 'gender')
('XWenXiang', '15', 'man')

保存文件

保存工作簿最简单、最安全的方法是使用 对象的 Workbook.save() 方法 Workbook。

在前面的代码示例都没有将保存代码加入。

wb = Workbook()
wb.save('balances.xlsx')  # balances.xlsx 是保存的路径,也就是文件名。
编辑完要保存才行。

打开文件

openpyxl.load_workbook() —读取 excel 文件

和 Workbook 写入一样,使用 openpyxl.load_workbook() 可以打开现有工作簿。

from openpyxl import load_workbook  # 导入 load_workbook 
wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)  # ex_a.xlsx是文件名
print(wb.sheetnames)  # 打印所有工作簿的名称

读取工作簿数据

方式一
	from openpyxl import load_workbook
	
	wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
	ws = wb['用户信息表']  # 拿到工作薄对象
	print(ws['A1'].value)  # 取出工作薄对象中 A1 位置的值

方式二
	from openpyxl import load_workbook
	
	wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
	ws = wb['用户信息表']
	print(ws.cell(row=2, column=1).value)  # 通过行与列的形式来取值
	
方式三(逐行读取)
	from openpyxl import load_workbook
	
	wb = load_workbook('ex_a.xlsx', read_only=True, data_only=True)
	ws = wb['用户信息表']
	for row in ws.rows:  # 获取每一行的数据
	    for data in row:  # 获取每一行中单元格的数据
	        print(data.value)  # 打印单元格的值

 总结

到此这篇关于Python第三方常用模块openpyxl的文章就介绍到这了,更多相关Python openpyxl模块介绍内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django全局启用登陆验证login_required的方法

    Django全局启用登陆验证login_required的方法

    这篇文章主要介绍了Django全局启用登陆验证login_required的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Python编写一个多线程的12306抢票程序的示例

    Python编写一个多线程的12306抢票程序的示例

    对于很多人来说,抢购火车票人们成了一个令人头疼的问题,本文主要介绍了Python编写一个多线程的12306抢票程序的示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Python通过30秒就能学会的漂亮短程序代码(过程全解)

    Python通过30秒就能学会的漂亮短程序代码(过程全解)

    这篇文章主要介绍了Python之30秒就能学会的漂亮短程序代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • 关于Python dict存中文字符dumps()的问题

    关于Python dict存中文字符dumps()的问题

    这篇文章主要介绍了关于Python dict存中文字符dumps()的问题,本文给大家分享问题及解决方案,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • python中的try except与R语言中的tryCatch异常解决

    python中的try except与R语言中的tryCatch异常解决

    这篇文章主要为大家介绍了python中的try except与R语言中的tryCatch异常解决的方式及分析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • python自动化定位的9种函数方法小结

    python自动化定位的9种函数方法小结

    对于python进行自动化定位有9种方法,这篇文章主要来和大家聊聊这9种方法的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-11-11
  • 教你安装python Django(图文)

    教你安装python Django(图文)

    web开发语言越来越多,本文是安装python Django,看完之后就可以使用PYTHON做开发了。
    2013-11-11
  • Python利用partial偏函数生成不同的聚合函数

    Python利用partial偏函数生成不同的聚合函数

    本文主要介绍了Python利用partial偏函数生成不同的聚合函数,利用偏函数的概念,可以生成一些新的函数,在调用这些新函数时,不用再传递固定值的参数,这样可以使代码更简洁,感兴趣的可以了解一下
    2024-03-03
  • Python如何在bool函数中取值

    Python如何在bool函数中取值

    这篇文章主要介绍了Python如何在bool函数中取值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python实现批量监控网站

    python实现批量监控网站

    本文给大家分享的是一个非常实用的,python实现多网站的可用性监控的脚本,并附上核心点解释,有相同需求的小伙伴可以参考下
    2016-09-09

最新评论