文章目录

  • openpyxl
    • 相关处理Excel的python库
    • openpyxl安装
    • openpyxl使用
      • 基本概念
      • 创建加载和保存
      • 操作和修改

openpyxl

openpyxl是一个处理Excel文件的python库,也是python办公自动化的一大利器,本文主要介绍一些openpyxl的常用操作

相关处理Excel的python库

  • OpenPyXL 是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点
  • xlwings 是一个基于 BSD 授权协议的 Python 库,可以轻松的使用 Python 操作 Excel,也可以在 Excel 中调用 Python,以接近 VBA 语法的实现 Excel 编程,支持 Excel 宏,并且可以作为 Web 服务器,提供 REST API 接口
  • pandas 数据处理是 pandas 的立身之本,Excel 作为 pandas 输入/输出数据的容器
  • win32com 从命名上就可以看出,这是一个处理 windows 应用的扩展,Excel 只是该库能实现的一小部分功能。该库还支持 office 的众多操作。需要注意的是,该库不单独存在,可通过安装 pypiwin32 或者 pywin32 获取
  • Xlsxwriter 拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与 openpyxl 相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始
  • DataNitro 一个 Excel 的付费插件,内嵌到 Excel 中,可完全替代 VBA,在 Excel 中使用 python 脚本。既然被称为 Excel 中的 python,同时可以与其他 python 库协同。
  • xlutils 基于 xlrd/xlwt,老牌 python 包,算是该领域的先驱,功能特点中规中矩,比较大的缺点是仅支持 xls 文件。

openpyxl安装

pip install openpyxl

openpyxl使用

基本概念

  • workbook 相当于一个 Excel 文件档,每个被创建和打开的 Excel 文件都是独立的 Workbook 对象
  • sheet Excel 文档中的表单,每个 Excel 文档至少需要一个 sheet
  • cell 单元格,是不可分割的基本数据存储单元

创建加载和保存

from openpyxl import load_workbook,Workbook# 创建一个 workbook
wb = Workbook()
# 获取被激活的 worksheet
ws = wb.active#加载已有的excel文件
wb = load_workbook('test.xlsx')
ws = wb.active
# 显示文档中包含的 表单 名称
print(wb.sheetnames)#保存文件
wb.save("sample1.xlsx")

load_workbook 除了参数 filename外为还有一些有用的参数:

  • read_only:是否为只读模式,对于超大型文件,要提升效率有帮助
  • keep_vba :是否保留 vba 代码,即打开 Excel 文件时,开启并保留宏
  • guess_types:是否做在读取单元格数据类型时,做类型判断
  • data_only:是否将公式转换为结果,即包含公式的单元格,是否显示最近的计算结果
  • keep_links:是否保留外部链接

操作和修改

from openpyxl import load_workbookwb = load_workbook('sample.xlsx')#操作sheet
ws1 = wb.create_sheet("sheet")  #创建一个 sheet 名为 sheet
ws1.title = "新表单"  # 设置 sheet 标题
ws2 = wb.create_sheet("mysheet", 0) # 创建一个 sheet,插入到最前面 默认插在后面
ws2.title = u"你好"  # 设置 sheet 标题
ws1.sheet_properties.tabColor = "1072BA"  # 设置 sheet 标签背景色#操作单元格
# 通过单元格名称设置
ws1["A1"]=123.11
ws1["B2"]="你好"# 通过行列坐标设置
d = ws1.cell(row=4, column=2, value=10)# 操作单列
for cell in ws["A"]:print(cell.value)
# 操作单行
for cell in ws["1"]:print(cell.value)
# 操作多列
for column in ws['A:C']:for cell in column:print(cell.value)
# 操作多行
for row in ws['1:3']:for cell in row:print(cell.value)
# 指定范围
for row in ws['A1:C3']:for cell in row:print(cell.value)
# 所有行
for row in ws.iter_rows():for cell in row:print(cell.value)
# 所有列
for column in ws.iter_cols():for cell in column:print(cell.value)
# 合并
ws.merge_cells('A2:D2')
# 解除合并
ws.unmerge_cells('A2:D2')ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)
ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)

参考

【openpyxl】python处理excel的常用操作相关推荐

  1. Python实现EXCEL的常规操作,一文涵盖10个方面!

    前言: EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条)或者需要很复杂的公式时就显得没那么方便了(卡卡卡) ,所以还是那句话, "Life is short, you ...

  2. python对excel进行读写操作

    python对excel进行读写操作 欢迎使用Markdown编辑器 一.安装库 1.安装xlrd模块 2.安装xlwt模块 2.安装openpyxl模块 补充(多个python版本) 二.使用介绍 ...

  3. 利用python对Excel进行读写操作

    最近在写论文做实验的过程中,利用python自带的matplotlib库进行绘画,但是尝尝会出现在程序跑完后发现图片里面有一些小细节没有注意到,导致整个代码重新跑.代码重新跑短则几小时,长则就不好说了 ...

  4. Python控制Excel表格的操作以及问题处理

    Python控制Excel表格(openpyxl) Python创建的sheet表并操作(因为新建表所以这里只有存值操作): ​ 1.引入: from openpyxl import Workbook ...

  5. Python对Excel的常规操作 之 读取,写入(保留原格式写入)

    Python对Excel的常规操作 之 读取,写入(保留原格式) 前言 使用Python读写Excel常用的库有win32com和xlrd.xlwd.其中win32com可读可写,它对Excel的操作 ...

  6. python写表格_使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

  7. excel调用python编程-使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

  8. Python对Excel的常规操作 之 读取带密码的文件,解除Sheet密码

    Python对Excel的常规操作 之 读取带密码的文件,解除Sheet密码 一些废话 读取加密的Excel 解除文件中Sheet的密码 写在后面 一些废话 最近一直在给部门写一个参数校验的小程序.因 ...

  9. excel基础常用操作(2)

    excel基础常用操作(2) 一.筛选 1.基本筛选 开始菜单--排序与选项 小漏斗 2.高级筛选 可以有多个筛选条件 可以保留原数据,又可以把结果数据保留下来 位置:数据菜单下--排序与筛选--高级 ...

最新文章

  1. 传苹果产品总设计师欲离职 地位堪比乔布斯
  2. CROSS APPLY 和outer apply
  3. 动态规划算法-02矿工挖矿问题
  4. 单片机原理及其应用——单片机定时器中断实验(八段数码管依次显示0~9数字)
  5. springboot+事务,多张表的操作事务回滚
  6. 介词for和with 和of的用法_英语中的for,to,at,of,in,on,with的用法
  7. 9102 BITRUN Hackathon is COMING!
  8. MapReduce之二次排序
  9. 30个php操作redis常用方法代码例子
  10. 运行Myeclipse时,如何删除IVM窗口
  11. php单入口路由设计,php 简单路由实现
  12. php导出excel不兼容wps,#wps保存dbf不兼容#如何将Excel文件另存为DBF3格式
  13. 回归方程的拟合优度检验_回归分析的“拟合优度”是什么?
  14. matlab画区间柱状图,科学网—Matlab画柱状图 - 高淑敏的博文
  15. 我看韩剧《寄生虫》,一副好牌究竟是怎么被打烂的?
  16. 抖音微博火山快手皮皮虾微视去水印附源码
  17. 超越极限——2009年度DDR3内存横向测试(图)
  18. 齐桓公称霸天下的用人之道
  19. 道术结合,方可修炼成架构师
  20. 黔南州委常委、统战部部长潘选一行领导莅临迦太利华调研

热门文章

  1. Veritas troubleshoots
  2. 【已阅】Linux的软件生态与两个方面,客户端/Linux软件下载安装的认识,yum源/仓库(repo)与yum指令的本质,yum指令操作等
  3. 如何查看db2默认SAMPLE数据库是否默认创建成功
  4. Js中类似抽奖活动案例
  5. 15.华清嵌入式--shell脚本
  6. Maven 依赖管理(依赖范围/排除/原则)
  7. Ubuntu-QQ2013
  8. 时间不语,岁月要歌-我的2021
  9. linux服务器禁用TLS1.0,TLS1.1 SSLv3协议的方法
  10. 树莓派4B上配置Opencv