千家信息网

Python中openpyxl模块如何玩转Excel

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"Python中openpyxl模块如何玩转Excel",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python中openpyxl
千家信息网最后更新 2025年01月20日Python中openpyxl模块如何玩转Excel

这篇文章主要为大家展示了"Python中openpyxl模块如何玩转Excel",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python中openpyxl模块如何玩转Excel"这篇文章吧。

openpyxl 安装

直接在命令提示符中输入。

pip install openpyxl

或使用豆瓣镜像安装。

pip install -i https://pypi.douban.com/simple openpyxl

安装成功后,下面就看看如何使用

打开/创建工作簿

示例工作簿

工作表【一等奖】

工作表【二等奖】

(1)打开本地工作簿

>>> from openpyxl import load_workbook>>> wb = load_workbook('获奖名单.xlsx')

(2)创建空的工作薄

>>> from openpyxl import Workbook>>> wb1 = Workbook()

访问工作表

创建新工作表,可指定插入的位置(0:首位,-1:末尾)。

>>> wb.create_sheet('new_sheet', 0)

获取工作簿中所有工作表。

>>> wb.sheetnames['new_sheet', '一等奖', '二等奖']

使用列表推导式遍历获取所有工作表名称。

>>> [sheet.title for sheet in wb]['new_sheet', '一等奖', '二等奖']

使用 wb[sheetname] 来获取一个工作表对象

>>> wb['二等奖']

获取活动表(即打开工作簿首先出现的工作表)。

>>> wb.active

获取工作表行列信息。

>>> sheet1 = wb['一等奖']>>> sheet1.max_column7>>> sheet1.max_row6

获取单元格信息

访问某个单元格

>>> sheet1['D3']>>> sheet1.cell(row=3, column=4)

如果访问单元格式添加 value 参数则会修改当前单元格的值。

>>> sheet1.cell(3, 4).value'基于Spark、Python的医护人员信息抽取与管理'>>> sheet1.cell(3, 4, value='Python')>>> sheet1.cell(3, 4).value'Python'

获取单元格的值、坐标、行索引、列索引。

>>> sheet1['D3'].value'Python'>>> sheet1['D3'].coordinate'D3'>>> sheet1['D3'].row3>>> sheet1['D3'].column4

访问多个单元格

使用切片来访问多个单元格,这里的切片与列表切片有区别,列表切片是前闭后开,Excel 中的切片是前闭后闭。

(1)选取 A1:B2 区域的单元格。

>>> sheet1['A1':'B2']((,  ), (,  ))

选取单列数据。

>>> sheet1['D'](,    ... )

选取B,C列数据。

 >>> sheet1['B:C']((,    ...  ), (,    ...  ))

选取单行数据。

>>> sheet1[3](, ,    ... , )

选取第2,3行数据。

>>> sheet1[2:3]((,    ...  ), (,    ...  ))

遍历获取数据

按行遍历指定范围(B2:C3)数据。

>>> for row in  sheet1.iter_rows(min_row=2, max_row=3, min_col=2, max_col=3):        for cell in  row:            print(cell.coordinate) B2C2B3C3

按列遍历指定范围(B2:C3)数据。

>>> for col in  sheet1.iter_cols(min_row=2, max_row=3, min_col=2, max_col=3):        for cell in col:            print(cell.coordinate) B2B3C2C3

如果 iter_rows()/iter_cols() 中指定参数 values_only=True,那么将只返回单元格的值

按行遍历所有数据。

>>> tuple(sheet1.rows)((,  ...  ),  ...  ... (,  ...  ))

按列遍历所有数据。

>>> tuple(sheet1.columns)((,  ...  ),  ...  ... (,   ...  ))

修改工作表

单元格赋值

新增一列计算 作者 人数。

>>> for row_index in range(2, sheet1.max_row + 1):              sheet1.cell(row_index, 8).value = len(sheet1.cell(row_index, 6).value.split(','))

使用公式给单元格赋值,H7 统计作者总人数。

>>> sheet1['H7'] = '=SUM(H1:H6)'

追加一行数据

使用列表按序传入值。

>>> sheet1.append([str(n) for n in range(6)])

使用字典指定 列索引:列值 。

>>> sheet1.append({'A':'1','C':'3'})

插入空白行

在指定位置插入空白行, idx 行索引,插入的位置;amount 插入空白行的数量

>>> sheet1.insert_rows(idx=2, amount=2)

删除工作表

>>> wb.remove(wb['new_sheet'])

保存工作簿

>>> wb.save('获奖名单V1.xlsx')

修改样式

字体

设置 B2 单元格字体格式为,颜色可以用十六进制颜色代码。

>>> from openpyxl.styles import Font >>> new_font = Font(name='微软雅黑', size=20, color='3333CC', bold=True)>>> sheet1['B2'].font = new_font

单元格背景颜色

>>> from openpyxl.styles import PatternFill, colors>>> sheet1["A2"].fill = PatternFill("solid", fgColor=colors.BLUE)>>> sheet1["A3"].fill = PatternFill("solid", fgColor='FF66CC')

对齐方式

设置 D2 中的数据 垂直居中 和 水平居中 。

>>> from openpyxl.styles import Alignment>>> sheet1['D2'].alignment = Alignment(horizontal='center', vertical='center')

行高/列宽

设置第2行行高为40,C列列宽为20。

>>> sheet1.row_dimensions[2].height = 40>>> sheet1.column_dimensions['C'].width = 20

合并/拆分单元格

合并单元格只需要指定左上角和右下角的单元格坐标。

>>> sheet.merge_cells('A1:C3')

拆分单元格后,合并区域的值会赋给左上角单元格A1。

>>> sheet.unmerge_cells('A1:C3')

以上是"Python中openpyxl模块如何玩转Excel"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

单元 工作 数据 一等奖 二等奖 模块 位置 信息 内容 空白 空白行 篇文章 颜色 人数 作者 区域 参数 名单 坐标 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 盈动网络技术 制造型企业基础数据库 软件开发服务费税率是多少 广东电脑软件开发收费报价表 信息网络安全等级管理保护办法 数据库与应用接口怎么画 黄浦区专业软件开发要多少钱 数学分析在软件开发中的应用 国家网络安全的手抄报的内容 green 数据库 暗黑2重置服务器位置 超级智能服务器是什么原因 长沙软件开发工资待遇水平 数据库外网地址端口怎么打开 如何把只读文本框内容存入数据库 网络技术带给21世纪的变化 大学生网络安全班会心得体会 成都企业软件开发价位 法制网络安全教育 上海软件开发者一般去哪些网站 柒零叁网络技术有限公司 南京网络安全审计系统咨询辅导 网络安全安可设备 事业单位网络技术岗笔试 滴滴软件开发费用 数据库实现投影操作的是 大疆无人机应用软件开发商 为什么我导入不了本地数据库 加强网络安全技术培训 英国政府提出保护网络安全
0