10分钟学会用Python轻松玩转Excel
当你需要每天对 Excel 做大量重复的操作,如果只靠人工来做既浪费时间,又十分枯燥,好在 Python 为我们提供了许多操作 Excel 的模块,能够让我们从繁琐的工作中腾出双手 。
今天就和大家分享一个快速处理 Excel 的模块 openpyxl,它的功能相对与其他模块更为齐全,足够应对日常出现的问题 。
如果仅用Python来处理数据、爬虫、数据分析或者自动化脚本、机器学习等,我建议使用Python基础环境+jupyter即可,安装使用参考windows/mac 安装、使用Python环境+jupyter notebook
如果想利用Python进行web项目开发等,建议使用Python基础环境+Pycharm,安装使用参考:Windows下安装、使用Pycharm教程,这下全了 和 Mac下玩转Python-安装&使用Python/PyCharm。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)<Worksheet "new_sheet">
获取工作簿中所有工作表 。>>> wb.sheetnames['new_sheet', '一等奖', '二等奖']
使用列表推导式遍历获取所有工作表名称 。>>> [sheet.title for sheet in wb]['new_sheet', '一等奖', '二等奖']
使用 wb[sheetname] 来获取一个工作表对象>>> wb['二等奖']<Worksheet "二等奖">
获取活动表(即打开工作簿首先出现的工作表) 。>>> wb.active<Worksheet "一等奖">
获取工作表行列信息 。>>> sheet1 = wb['一等奖']>>> sheet1.max_column7>>> sheet1.max_row6
获取单元格信息访问某个单元格>>> sheet1['D3']<Cell '一等奖'.D3>>>> sheet1.cell(row=3, column=4)<Cell '一等奖'.D3>
如果访问单元格式添加 value 参数则会修改当前单元格的值 。>>> sheet1.cell(3, 4).value'基于Spark、Python的医护人员信息抽取与管理'>>> sheet1.cell(3, 4, value=https://www.isolves.com/it/cxkf/yy/Python/2021-12-07/'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']((<Cell '一等奖'.A1>,<Cell '一等奖'.B1>), (<Cell '一等奖'.A2>,<Cell '一等奖'.B2>))

文章插图
选取单列数据 。
>>> sheet1['D'](<Cell '一等奖'.D1>,... <Cell '一等奖'.D6>)
选取B,C列数据 。 >>> sheet1['B:C']((<Cell '一等奖'.B1>,...<Cell '一等奖'.B6>), (<Cell '一等奖'.C1>,...<Cell '一等奖'.C6>))
选取单行数据 。>>> sheet1[3](<Cell '一等奖'.A3>, <Cell '一等奖'.B3>,... <Cell '一等奖'.F3>, <Cell '一等奖'.G3>)
选取第2,3行数据 。>>> sheet1[2:3]((<Cell '一等奖'.A2>,...<Cell '一等奖'.G2>), (<Cell '一等奖'.A3>,...<Cell '一等奖'.G3>))
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 阿里架构师整理的 Netty 学习笔记之:Java NIO 网络编程
- 6个实用的 Python 自动化脚本,你学会了吗?
- |职场上,遇到不喜欢的人,别排斥,要学会以下三种待人方式
- ?中小学夏季作息时间
- 中学生暑假作息表
- 招聘|全日制与非全日制学历一律对待!
- |行走职场,要学会这5个“战字”思维,告别平庸, 助你青云直上
- 职业教育|“8小时工作”逐渐退出私企,难怪大学生想进体制内,差别很明显
- 上海市|上海一女大学生面试时被严重猥亵,女生讲述不堪细节,对方称自愿的
- 大学|灵活用工行业现状:新职业兴起,大学生成灵活就业主力军