Openpyxl 总结
Python Openpyxl
资料:
1、《极客Python之效率革命》小甲鱼 python操作excel
2、https://openpyxl.readthedocs.io/en/latest/usage.html
3、https://pypi.org/project/openpyxl/
1. 安装
pip install openpyxl
2. 打开文件
① 创建
from openpyxl import Workbook
# 实例化
wb = Workbook()
# 激活 worksheet
ws = wb.active
② 打开已有
>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('文件名称.xlsx')
3. 储存数据
# 方式一:数据可以直接分配到单元格中(可以输入公式)
ws['A1'] = 42
# 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
ws.append([1, 2, 3])
# 方式三:Python 类型会被自动转换
ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")
4. 创建表(sheet)
# 方式一:插入到最后(default)
>>> ws1 = wb.create_sheet("Mysheet")
# 方式二:插入到最开始的位置
>>> ws2 = wb.create_sheet("Mysheet", 0)
5. 选择表(sheet)
# sheet 名称可以作为 key 进行索引
>>> ws3 = wb["New Title"]
>>> ws4 = wb.get_sheet_by_name("New Title")
>>> ws is ws3 is ws4
True
6. 查看表名(sheet)
# 显示所有表名
>>> print(wb.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
# 遍历所有表
>>> for sheet in wb:
... print(sheet.title)
7. 访问单元格(call)
① 单一单元格访问
# 方法一
>>> c = ws['A4']
# 方法二:row 行;column 列
>>> d = ws.cell(row=4, column=2, value=10)
# 方法三:只要访问就创建
>>> for i in range(1,101):
... for j in range(1,101):
... ws.cell(row=i, column=j)
② 多单元格访问
# 通过切片
>>> cell_range = ws['A1':'C2']
# 通过行(列)
>>> colC = ws['C']
>>> col_range = ws['C:D']
>>> row10 = ws[10]
>>> row_range = ws[5:10]
# 通过指定范围(行 → 行)
>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
... for cell in row:
... print(cell)
<Cell Sheet1.A1>
<Cell Sheet1.B1>
<Cell Sheet1.C1>
<Cell Sheet1.A2>
<Cell Sheet1.B2>
<Cell Sheet1.C2>
# 通过指定范围(列 → 列)
>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
... for cell in row:
... print(cell)
<Cell Sheet1.A1>
<Cell Sheet1.B1>
<Cell Sheet1.C1>
<Cell Sheet1.A2>
<Cell Sheet1.B2>
<Cell Sheet1.C2>
# 遍历所有 方法一
>>> ws = wb.active
>>> ws['C9'] = 'hello world'
>>> tuple(ws.rows)
((<Cell Sheet.A1>, <Cell Sheet.B1>, <Cell Sheet.C1>),
(<Cell Sheet.A2>, <Cell Sheet.B2>, <Cell Sheet.C2>),
...
(<Cell Sheet.A8>, <Cell Sheet.B8>, <Cell Sheet.C8>),
(<Cell Sheet.A9>, <Cell Sheet.B9>, <Cell Sheet.C9>))
# 遍历所有 方法二
>>> tuple(ws.columns)
((<Cell Sheet.A1>,
<Cell Sheet.A2>,
<Cell Sheet.A3>,
...
<Cell Sheet.B7>,
<Cell Sheet.B8>,
<Cell Sheet.B9>),
(<Cell Sheet.C1>,
...
<Cell Sheet.C8>,
<Cell Sheet.C9>))
8. 保存数据
>>> wb.save('文件名称.xlsx')
9. 其他
① 改变 sheet 标签按钮颜色
ws.sheet_properties.tabColor = "1072BA"
② 获取最大行,最大列
# 获得最大列和最大行
print(sheet.max_row)
print(sheet.max_column)
③ 获取每一行,每一列
sheet.rows
为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。sheet.columns
类似,不过里面是每个tuple是每一列的单元格。
# 因为按行,所以返回A1, B1, C1这样的顺序
for row in sheet.rows:for cell in row:print(cell.value)# A1, A2, A3这样的顺序
for column in sheet.columns:for cell in column:print(cell.value)
④ 根据数字得到字母,根据字母得到数字
from openpyxl.utils import get_column_letter, column_index_from_string# 根据列的数字返回字母
print(get_column_letter(2)) # B
# 根据字母返回列的数字
print(column_index_from_string('D')) # 4
⑤ 删除工作表
# 方式一
wb.remove(sheet)
# 方式二
del wb[sheet]
⑥ 矩阵置换(行 → 列)
rows = [['Number', 'data1', 'data2'],[2, 40, 30],[3, 40, 25],[4, 50, 30],[5, 30, 10],[6, 25, 5],[7, 50, 10]]list(zip(*rows))# out
[('Number', 2, 3, 4, 5, 6, 7),('data1', 40, 40, 50, 30, 25, 50),('data2', 30, 25, 30, 10, 5, 10)]# 注意 方法会舍弃缺少数据的列(行)
rows = [['Number', 'data1', 'data2'],[2, 40 ], # 这里少一个数据[3, 40, 25],[4, 50, 30],[5, 30, 10],[6, 25, 5],[7, 50, 10],
]
# out
[('Number', 2, 3, 4, 5, 6, 7), ('data1', 40, 40, 50, 30, 25, 50)]
Openpyxl 总结相关推荐
- openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old
具体错误如下: openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old .xls file ...
- Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl
Python可视化--3D绘图解决方案pyecharts.matplotlib.openpyxl 1. pyecharts 2. matplotlib 3. openpyxl 这篇博客将介绍pytho ...
- python openpyxl写入多行_Python openpyxl读写操作
import openpyxl #导入 模块 #读取xlsx文件 rb = openpyxl.load_workbook(r"c:\11.xlsx") #获取工作表--Sheet ...
- Python openpyxl 之 Excel 文档简单操作
背景:生活中常常因日常工作,在记录统计方面需频繁处理较多 Excel 表格,这部分工作虽可由人工完成,但这样会显得有些繁琐且可能存在偏差,遂闲时查阅了是否有相关基于python处理Excel表格的学习 ...
- python的openpyxl模块下载_python解析.xls/.xlsx文件–openpyxl模块(第三方)
围观人数: 7 标签:book set tle 命令行 文件中 不能 charm 读取 pen 第一part:Excel文件的介绍 Microsoft Excel是Mi ...
- 使用openpyxl处理表格数据
你们都一定在生活中的某个时候使用过 Excel,并且一定觉得需要自动化在本教程中,我们将学习如何使用 Python 处理 Excel 一些重复或乏味的任务. Openpyxl 是一个 Python 库 ...
- openpyxl 操作 Excel表的格基本用法
在本教程中,将Python3和openpyxl库一起使用来操作 Excel 表格. 本文将介绍如下操作: 如何在内存中创建工作簿 如何从工作簿中检索.创建.复制.移动和删除工作表 如何从文件创建工作簿 ...
- openpyxl读取excel_初识openpyxl--读取excel数据(二)
(4)对mySheet进行切片. col_range = ws['B:D']row_range = ws[2:3] ①:以列的方式访问单元格: for col in col_range: for ce ...
- openpyxl安装_自拍教程76Python 一键批量安装第三方包
案例故事: 在测试环境搭建环节,尤其是需要在新的电脑上搭建Python测试环境时, 可以考虑把日常自动化测试所需要用到的第三方Python包(非自带内置包), 一次性批量安装上. 准备阶段 1.确保p ...
- Python中用OpenPyXL处理Excel表格
更多内容,请访问我的 个人博客. 前言 用 Python 处理Excel表格的几个常规库: xlrd 用来读 xlwt 用来写 xlutils 用于做复制.筛选等针对文档文件的操作 这些库都不如 Op ...
最新文章
- 在SaaS领域,单纯的免费策略根本行不通!
- Round-Robin负载均衡算法及其实现原理
- 后端开发应该掌握的 Redis 基础
- centos8 安装nvidia 显卡驱动(一路踩坑一路填)
- 关于TTL大家容易忽略的地方
- centos7远程访问mysql数据库_CentOS7下安装mysql最快捷方式及mysql远程访问连接实现详解...
- linux grep (转)
- 关于焊板子的几个原件焊接方向问题
- vs2010设置 行号显示
- asp.net 按钮点击调用FileUpload
- C语言编写万年历程序
- python怎样用填充颜色_python中如何给图形填充颜色
- 使用racoon setkey搭建IPsec VPN环境
- 哮喘病人小气道上皮细胞 (Asthma) Small airway epithelial cells 培养解决方案
- 15、 Flutter Widgets 之 ClipRect,ClipRRect,ClipOval,ClipPath,CustomClipper,裁剪组件
- 网络直播平台近些年发展
- web前端开发基础知识整理以及前端视频教程
- 右键添加打开方式 windows
- 升级IOS10 出现的兼容性的问题
- 代码格式化脚本CodeFormat