python自动化办公模块_Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!
openpyxl 介绍
openpyxl 是一个直接可用于读写 xlsx 、xlsm、xltx、xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动化批量操作
先说一下安装部分,如果小伙伴们用 Anaconda 作为 Python 环境的话,openpyxl 无需安装可直接使用;需要安装的话方法也非常简单 pip 工具一行命令即可
pip install openpyxl
xlsx 文件属性
在对 Excel 表格处理之前,需要了解一下 xlsx 文件的几个名词解释及构造
1,Workbook 指的是神什么?
Workbook 名叫工作薄,可以代指一个 xlsx 文件;
2, sheet、cell、row 、col 分别指的是什么?
关于问题2 ,可参考下图(见注释)
openpyxl 基本命令操作
1, 创建 一个空的 workbook
from openpypl import Wrokbook
from openpyxl.utils import get_column_letter
wb = Workbook()
ws1 = wb.active
一个 Workbook 默认至少含有一个 worksheet ,通过命令 Workbook.active 来获取当前第一个 sheet(也就是第一个 sheet);
2,创建新的 worksheet
ws1 = wb.create_sheet("Mysheet") # insert at the end (default)
ws2 = wb.create_sheet("Mysheet", 0) # insert at first position
# or
ws3 = wb.create_sheet("Mysheet", -1) # insert at the penultimate position
可通过 create_sheet() 命令创建新的 worksheet , create_sheet 默认有两个参数 name、index;
name,定义 sheet 的名字;
index,来设置插入 sheet 的位置,默认为 None 即新创建的 sheet 插入到最后面;0 代表插入第一个 sheet 的位置;
3,更改 sheet 的名字
一行代码即可
ws.title = 'New Title'
4,更改 sheet 上 tab 背景颜色
ws.sheet_properties.tabColor = "1072BA"
通过修改 Wroksheet.sheet_properties.tabColor 参数即可,需要注意的是这里只接收 RRGGBB 颜色代码;
关于不清楚 sheet tab 背景颜色不清楚是什么的小伙伴,可参考下图;
5, 返回 Workbook 中所有 sheet 的名字
通过 Workbook.sheetname 命令即可查看
>>> print(wb.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
# 或者用迭代方法
>>> for sheet in wb:
... print(sheet.title)
6,将现有的 worksheets 复制新创建的 workbook 中
可通过 Workbook.copy_worksheet()函数方法
# 将 source 中的worksheet复制到 target 中去
source = wb.active
target = wb.copy_worksheet(source)
需要注意的是,当 workbook 为只读或 只写模式时不可复制;另外只有 cells(值,样式,超链接、注释) 和 特定的 worksheet 属性(维度、格式、属性)可以复制,其他的一些 workbook / worksheet 属性不可复制( Images Charts 等)
7,获取某个 cell 的数据
成功创建完 Workbook、Worksheet 之后,接下来就可以修改 cell(单元格中的内容,Cells 可以通过 worksheet 中特有关键词来获取
>>> c = ws['A4'] # 获取第4行列名为A 单元格中的值
通过赋值命令对其修改
ws['A4'] = 4
openpyxl 中有一个函数 Worksheet.cell() 可修改单元格中的数据,可定位到具体行、具体列进行更改,
d = ws.cell(row = 4,columns = 2,value = 10)
row 表示指定行
columns 表示指定列
value 表示该单元格中需替代的数据值;当此参数不设置时表示只对该 cell 创建内存空间,不赋值
例如
>>> for x in range(1,101):
... for y in range(1,101):
... ws.cell(row=x, column=y)
8,获取多个单元格
8.1 , openpyxl 也可以进行切片操作,来获取多个单元格
>>> cell_range = ws['A1':'C2']
8.2, worksheet 中多行多列数据获取方式相似
>>> colC = ws['C']
>>> col_range = ws['C:D']
>>> row10 = ws[10]
>>> row_range = ws[5:10]
8.3,Worksheet.iter_row() 来获取 sheet 中行列范围,再利用循环迭代获取每一个单元格数据
>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
... for cell in row:
... print(cell)
8.4,Worksheet.iter_cols() 也可以实现同样功能
>>> for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
... for cell in col:
... print(cell)
需要注意的时在 read-only 模式中,Worksheet,iter_cols() 方法不能使用
9,只查看 cell 中的 value
9.1,只查看 worksheet 中的 value 时,可通过 Worksheet.values 属性,该属性将迭代 worksheet 中所有行,但返回的仅仅是 cell values
for row in ws.values:
for value in row:
print(value)
9.2,通过 Worksheet.iter_rows() 和 Worksheet.iter_cols() 也可以实现,在函数中加入一个参数 values_only = True 即可返回 cell 的值
>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2, values_only=True):
... print(row)
(None, None, None)
(None, None, None)
10,读写文件操作
10,excel 文件加载
openpyxl.load_workbook() 函数来打开一个指定本地存储的 xlsx 文件
>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('test.xlsx')
>>> print wb2.sheetnames
['Sheet2', 'New Title', 'Sheet1']
10.2,excel 文件存储
Workbook 修改成功后,后创建完成之后,通过Workbook.save(path) 命令即可保存至本地磁盘
>>> wb = Workbook()
>>> wb.save('balances.xlsx')
好了,以上就是本篇文章的所有内容了,最后感谢大家的阅读!
python自动化办公模块_Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!相关推荐
- 使用python处理wps表格_python中常⽤的excel模块库
python中常用的excel模块库&安装方法 openpyxlopenpyxl是⼀个Python库,用于读取/写⼊Excel 2010 xlsx / xlsm / xltx / xltm⽂件 ...
- pwd python 安装 模块_Python自动化办公之邮件定时发送
Python自动化之邮件的定时发送,我们这里使用网易163邮箱. Python邮件操作相关模块的安装 yagmail,The goal here is to make it as simple and ...
- python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析
openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...
- python 自动化办公要装哪些模块_Python自动化办公(内容)
python自动化办公(python操作Excel.Word.PDF.PPT) python使用openpyxl操作excel: python使用PyPDF2和pdfplumber操作pdf: pyt ...
- python 自动化办公实例_python自动化办公太难?学这些就够用了
有人提问:用 python 进行办公自动化都需要学习什么知识呢? 这可能是很多非 IT 职场人士面临的困惑,想把 python 用到工作中,却不知如何下手? python 在自动化办公领域越来越受欢迎 ...
- python自动办公知识点_Python自动化办公知识点整理汇总|简明python教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困 ...
- python操作word填表_Python 自动化办公—Word 文本操作命令
点击上方 小张Python,加为星标 第一时间收到 Python 技术干货! 之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Pyth ...
- python自动化和教程_python自动化基本技术原理
python自动化测试(2) 自动化基本技术原理 1 概述 在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据. 掌握上面的这样的本领可不 ...
- python中sys用法_python中os和sys模块的区别与常用方法总结
python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...
- python爬虫需要调用什么模块_python爬虫需要调用什么模块
python 爬虫常用模块: Python标准库--urllib模块 功能:打开URL和http协议之类 注:python 3.x中urllib库和urilib2库合并成了urllib库. 其中url ...
最新文章
- 本科生去面试算法工程师心酸的故事
- 一文详解PnP算法原理
- 语义分析的一些方法(下篇)
- java什么是最终类型_golang和java,谁才是最终答案?
- Cmake常用基本命令复习
- Python-OpenCV 笔记5 -- 几何变换(Geometric Transformations)
- 正则表达式的知识普及
- airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法
- java拆装_Java自动拆装包
- 【BZOJ2438】杀人游戏,tarjan缩点+简单的概率计算
- 林超贤携彭于晏带《紧急救援》再度征战2020春节档
- windows安装python库_Windows安装Python机器学习包
- polybase配置 sql_在 Windows 上配置 PolyBase 横向扩展组
- Python提示ModuleNotFoundError: No module named ‘PIL‘,已解决
- Java线程与Android线程,Android线程篇(三):深入理解Java线程池(一)
- Javascript FormData实例
- Android音频的播放
- illegal instruction问题窥探
- ASP.NET的Session会导致的性能问题
- matlab函数句柄介绍