一、安装

>>> pip install openpyxl

import openpyxl

二、常用操作

1、创建与保存一个工作簿

wb = openpyxl.Workbook()

wb.save("sample.xlsx")

2、获取第一个工作表(将工作看成一个二维数组)

ws = wb.active

ws.title

ws["A1"] = 520

ws.append([1, 2, 3])

3、打开一个工作簿

wb = openpyxl.load_workbook("sample.xlsx")

4、获取工作表名称列表,再通过工作表名称获取工作表对象

sheetnames = wb.sheetnames or wb.get_sheet_names()
# ["sheet", "example", "maoyan"] example = wb.get_sheet_by_name("example") or wb["example"]

5、创建和删除工作表

wb.create_sheet(index=0, title="example")  # index:工作表位置 title:工作表名称

wb.remove_sheet(wb["example"])  # 需要传入一个工作表对象

6、定位单元格

example["A1"]  # 获取单元格对象
example["A"] # 获取单元格元组(列)
example[""] # 获取行单元格元组(行) c = example["C4"]
c.offset(1, 3) # 单元格偏移
# C+1=D,4+3=7,D7

7、'AAA'是多少?

  观察工作表发现工作表的列索引为A-Z、AA-AZ、BA-BZ······

获取列数字索引对应的字符格式和字符索引对应的数字格式

openpyxl.cell.cell.get_column_letter(496)
# 'SB' openpyxl.cell.cell.column_index_from_string("SB")
#

8、访问多个单元格(先行后列)

方式一:

ws["A1":"B2"]
# ((<Cell 'MaoYan'.A1>, <Cell 'MaoYan'.B1>), (<Cell 'MaoYan'.A2>, <Cell 'MaoYan'.B2>), (<Cell 'MaoYan'.A3>, <Cell 'MaoYan'.B3>)) ws["A":"B"]
# ((<Cell 'MaoYan'.A1>, <Cell 'MaoYan'.A2>, <Cell 'MaoYan'.A3>, <Cell 'MaoYan'.A4>, <Cell 'MaoYan'.A5>, <Cell 'MaoYan'.A6>, <Cell 'MaoYan'.A7>, <Cell 'MaoYan'.A8>, <Cell 'MaoYan'.A9>, <Cell 'MaoYan'.A10>), (<Cell 'MaoYan'.B1>, <Cell 'MaoYan'.B2>, <Cell 'MaoYan'.B3>, <Cell 'MaoYan'.B4>, <Cell 'MaoYan'.B5>, <Cell 'MaoYan'.B6>, <Cell 'MaoYan'.B7>, <Cell 'MaoYan'.B8>, <Cell 'MaoYan'.B9>, <Cell 'MaoYan'.B10>))

方式二:

# ws.rows、ws、columns  生成器
for row in ws.rows: # 多行
print(row[0]) for row in ws.iter_rows(min_row=2, min_col=1, max_row=4, max_col=2): # 指定行
  print(row[0])

9、拷贝工作表

wb.copy_worksheet(ws["example"])  # 工作表对象

10、个性化工作表标签栏

ws.sheet_properties.tabColor = "FFFFFF"

11、调整行高和列宽

ws.row_dimensions[2].height = 100  # 修改行高

ws.column.dimensions["A"] .width = 20  # 修改列宽

12、合并和拆分单元格(合并拆分要一致)

ws.merge_cells("A1:C3")

ws.unmerge_cells("A1:C3")

13、冻结窗口

ws.freeze_panes = "B8"  # 指定冻结的单元格后,往下滚动,小于第行的不动,往右滚动,小于第B列的不动

ws.freeze_panes = "A1"  # 解冻,设置为A1就可以了

openpyxl(python操作Excel)的更多相关文章

  1. openpyxl python操作Excel表格,

    这里openpyxl只支持xlsx格式的Excel,openpyxl使用起来会更方便一些,所以如果只操作小流水线文件的话,那么可以优先选择openpyxl,如果要兼容xls的话,就使用xlrd/xlw ...

  2. python操作excel——openpyxl

    一.概述 python操作excel各个库对比:https://www.cnblogs.com/paul-liang/p/9187503.html 官方文档:https://openpyxl.read ...

  3. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  4. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  7. 运营的Python指南 - Python 操作Excel

    这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...

  8. 用Python操作excel文档

    使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...

  9. 使用Python操作Excel文档(一)

    Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...

随机推荐

  1. elasticsearch minhash 测试应用

    上一章看了代码实现,算是搞明白了各参数的意义,现在开始测试,为方便以ik分词示例(对elasticsearch支持较好,测试操作简单) 首先建index,自定义 analysis ik分词用 ik_s ...

  2. mysql琐碎操作杂记

    1.索引相关 查看表索引 show index from `user` 查看sql的执行计划 explain select * from where user 2.存储过程相关 查看存储过程 show ...

  3. VB6的安装过程视频讲解

    开发Windows桌面应用程序.开发Office的COM加载项,都离不开VB.本视频从VB安装包的下载和解压缩,一直讲到安装结束后创建项目为止.截图如下: 视频地址: https://pan.baid ...

  4. 二十六、linux邮件服务器

    1.安装: yum install -y sendmail 因为是最小安装,需要包没有安装 yum  install -y  mailx 2.日志:/var/log/maillog 3.启动:/etc ...

  5. StartDT AI Lab | 视觉智能引擎之算法模型加速

    通过StartDT AI Lab专栏之前多篇文章叙述,相信大家已经对计算机视觉技术及人工智能算法在奇点云AIOT战略中的支撑作用有了很好的理解.同样,这种业务牵引,技术覆盖的模式也收获了市场的良好反响 ...

  6. O - Snacks(DFS序)

    百度科技园内有nn个零食机,零食机之间通过n−1n−1条路相互连通.每个零食机都有一个值vv,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充,零食机的价值vv会时常发生变化.小度熊只能从编号 ...

  7. RDS的xb文件恢复到本地mysql5.6版本数据库

    参考博客: https://blog.csdn.net/a18838964650/article/details/82800621  安装qpress软件 https://www.cnblogs.co ...

  8. java高并发之线程池

    Java高并发之线程池详解   线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对 ...

  9. 初始化方法,init,构造器

    1.继承于NSObject class student: NSObject { var name : String? var age : Int = var friend : Int = init(n ...

  10. 无标定量|有标定量|谱图计数|XIC|AMT数据库|RT对对齐|母离子|子离子|SILVER|SRM|iBAQ|APEX|差异蛋白筛选|MaxQuant|PANDA|C-HPP

    生物医学大数据-蛋白质定量 现今肽段定量效率存在巨大差异.比如相同质量蛋白质,但是肽段和蛋白信号不均一,在物理条件一致时,仅有70%的重复率,并且当重复次数变多时,overlapping在变少. 无标 ...