千家信息网

Python中openpyxl模块如何玩转Excel

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要为大家展示了"Python中openpyxl模块如何玩转Excel",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python中openpyxl
千家信息网最后更新 2024年11月23日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安全错误 数据库的锁怎样保障安全 保定豆荚网络技术有限公司 梦幻西游搬砖刷图服务器 网络安全培训的主要内容 厦门睿路达互联网科技公司 网络技术教研总结 计算机代理服务器日志怎么开 wifi网络安全验证 乳山般若互联网科技有限公司 一站式软件开发市场 软件开发面经 数据库生成表格 网络技术专业的毕业论文 手机卡获取不到dns服务器地址 江苏综合评价数据库 山西商场大屏触摸软件开发公司 虚拟机 ftp 服务器 长春中软国际软件开发有限公司 网络安全手抄报图片文字 阿里巴巴成都网络技术有限公司 数据库怎么添加mdf 网络安全应急响应分类 网络安全手抄报图片可爱壁纸 开放大学计算机网络技术专业课程 眼镜行业软件开发的服务水平 青少年网络安全读后感 网页选择服务器有用吗 服装进货软件开发 茁壮网络安全绘画 做好网络安全并不难 漳州商裕通软件开发有限公司
0