python的openpyxl的使用笔记
openpyxl模块介绍
openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。其他很多的与Excel相关的项目基本只支持读或者写Excel一种功能。
安装openpyxl模块
openpyxl是一个开源项目,这里使用如下命令安装openpyxl模块
pip3 install openpyxl
一.作成Excel文件
1.作成空的excel
import openpyxl
if __name__ == '__main__':
#作成一个新的空的Excel
wb = openpyxl.Workbook()
# 保存
wb.save('example.xlsx')
2.变更默认sheet页的名称
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook
#当前打开的sheet页 wb.active
ws = wb.active
# 更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# 保存
wb.save('example.xlsx')
3.作成含多个sheet页的Excel
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook()
#当前打开的sheet页 wb.active
ws = wb.active
# #更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# 定义第二个sheet页
ws2 = wb.create_sheet("NewWorkSheet2")
# 定义第三个sheet页
# `0` 的设定 会将该sheet页 置于wb最前面
ws3 = wb.create_sheet("NewWorkSheet3", 0)
# 保存
wb.save('example.xlsx')
4.sheet页WS的tab颜色变更
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# WS的tab颜色设定
ws.sheet_properties.tabColor = "1072BA"
# 保存
wb.save('example.xlsx')
二.单元格赋值
1.指定坐标
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# 给单元格赋值
ws["A1"] = "HOGE"
ws["B1"] = "FUGA"
# 保存
wb.save('example.xlsx')
2.指定行列
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# 指定行列给单元格赋值
ws.cell(row=4, column=2, value=10)
# 保存
wb.save('example.xlsx')
3.指定范围
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "worksheettitle"
# 指定行列给单元格赋值
v = 0
for i in range(1,10):
for n in range(1,10):
ws.cell(row=i, column=n, value=v)
v += 1
# 保存
wb.save('example.xlsx')
4.一次输出行
import openpyxl
# column名
column_title = ["FirstName", "LastName"]
if __name__ == '__main__':
"""
CELL放入值
"""
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "worksheettitle"
# column名和値顺序放入单元格中
rows = [
column_title,
["Tarou", "Tanaka"],
["Tarou", "Suzuki"],
["Tarou", "Uchiayama"],
]
for row in rows:
ws.append(row)
# 保存
wb.save('example.xlsx')
![](https://upload-images.jianshu.io/upload_images/14607294-8e5045b58d5d0283.png?imageMogr2/auto-orient/strip|imageView2/2/w/508/format/webp)
5.单元格内换行
import openpyxl
if __name__ == '__main__':
"""
单元格内换行
"""
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "WorkSheetTitle"
# 单元格内换行
ws['A1'] = "A\nB\nC"
ws['A1'].alignment = openpyxl.styles.Alignment(wrapText=True)
# 保存
wb.save('example.xlsx')
![](https://upload-images.jianshu.io/upload_images/14607294-f660ed5950c416df.png?imageMogr2/auto-orient/strip|imageView2/2/w/472/format/webp)
三.设置单元格的style
1.style文稿
https://openpyxl.readthedocs.io/en/default/styles.html#cell-styles-and-named-styles
2.设置字体font
import openpyxl
if __name__ == '__main__':
"""
设置字体font
"""
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "worksheettitle"
# 设置font
font = openpyxl.styles.Font(
name = "宋体",
size = 15,
)
a1 = ws["A1"]
a1.font = font
a1.value = "TEST"
# 保存
wb.save('example.xlsx')
3.单元格边框border
import openpyxl
from openpyxl.styles import Border, Side
if __name__ == '__main__':
"""
设置单元格style
"""
wb = openpyxl.Workbook()
ws = wb.active
# 更改默认名称Sheet`
ws.title = "worksheettitle"
# 设置单元格border的style
border = Border(
left=Side(
border_style="thin",
color="FF0000"
),
right=Side(
border_style="thin",
color="FF0000"
),
top=Side(
border_style="thin",
color="FF0000"
),
bottom=Side(
border_style="thin",
color="FF0000"
)
)
b2 = ws["B2"]
b2.border = border
b2.value = "TEST"
# 保存
wb.save('example.xlsx')
![](https://upload-images.jianshu.io/upload_images/14607294-a8015c3c2605f58a.png?imageMogr2/auto-orient/strip|imageView2/2/w/520/format/webp)
4.合并单元格
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "worksheettitle"
# 合并单元格
ws.merge_cells("A1:E1")
ws["A1"] = "HOGE"
# 保存
wb.save('example.xlsx')
![](https://upload-images.jianshu.io/upload_images/14607294-5ca9391d72146b6a.png?imageMogr2/auto-orient/strip|imageView2/2/w/528/format/webp)
5.单元格填充颜色
import openpyxl
from openpyxl.styles import PatternFill
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "worksheettitle"
# 单元格填充颜色
fill = PatternFill(fill_type='solid',
fgColor='FFFF0000')
b2 = ws["B2"]
b2.fill = fill
b2.value = "TEST"
# 保存
wb.save('example.xlsx')
![](https://upload-images.jianshu.io/upload_images/14607294-afd5b5cc26d0aa96.png?imageMogr2/auto-orient/strip|imageView2/2/w/478/format/webp)
四.hyperlink超链接
import openpyxl
if __name__ == '__main__':
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "worksheettitle"
# 作成第二个sheet页 名称胃example
ws2 = wb.create_sheet("example")
# 设置超链接 到“example”sheet页 鼠标定格在A5单元格
ws["A1"] = "Link"
ws["A1"].hyperlink = "example.xlsx#example!A5"
# 保存
wb.save('example.xlsx')
五.读Excel文档
from openpyxl import Workbook, load_workbook
wb = load_workbook('./example.xlsx')
ws = wb.active
for row in ws:
for cell in row:
print(cell)
7人点赞
python的openpyxl的使用笔记的更多相关文章
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
- python学习第五次笔记
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- 【转发】Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- $《利用Python进行数据分析》学习笔记系列——IPython
本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...
- Python for循环学习总结笔记
循环是任何语⾔的⼀个必备要素.同样地,for循环就是Python的⼀个重要组成部分.然而还有⼀些内容是初学者常常忽视的.下面是Python for循环学习总结笔记,一起来查漏补缺吧! ...
随机推荐
- 部署java应用的几种方式
J2EE应用 该应用根目录下有好多文件夹和以jsp结尾的文件 部署时,需要在tomcat的conf目录下的server.xml文件中添加上<Context path="/" ...
- 【SQL Server DBA】日常巡检语句3:特定监控(阻塞、top语句、索引、作业)
原文:[SQL Server DBA]日常巡检语句3:特定监控(阻塞.top语句.索引.作业) 1.查询阻塞信息.锁定了哪些资源 --1.查看阻塞信息 select spid,loginame,wai ...
- vue.js入门语法
1.入门 <div id="vue_det"> <h1>site : {{site}}</h1> //两个大括号显示参数 <h1>u ...
- asp.net core 2.0发布到IIS报错解决方案
大体来说,是环境的问题. 第一个错误,如图: 1. 查了网上说是文件夹权限的问题,依次设置了Everyone权限和IIS_IUSER权限,能勾选的都勾选了,然而并没有什么用,看来不是这个问题导致的. ...
- JS 长按 移动端
实质上,长按的时间不应该过长,因为这有可能与手机系统的部分长按手势产生冲突,但也不宜过短,因为长按时间过短与点击没有任何区别, 理论上,判断长按结束,在手机端上仅设置mouseup动作就可以, < ...
- JS原型的动态性
由于在原型中查找成员的过程是一次搜索,所以我们对原型对象所做的任何修改都能立即从实例上反映出来(但不包括对原型对象的重写,下面会介绍到),即使是对原型的修改操作在创建实例之后.如下面的示例所示: fu ...
- 基于【 Docker】五 || maven私服环境搭建
1.Maven Nexus私服的原理 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库.当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓 ...
- java序列化和反序列化使用总结
一.概念 java对象序列化的意思就是将对象的状态转化成字节流,以后可以通过这些值再生成相同状态的对象.对象序列化是对象持久化的一种实现方法,它是将对象的属性和方法转化为一种序列化的形式用于存储和传输 ...
- Thymeleaf整合到Spring Security,标签sec不起作用
将 pom 文件中的 thymeleaf-extras-springsecurity4 依赖改成 thymeleaf-extras-springsecurity5 <dependency> ...
- Array 和 ArrayList 有何区别?(未完成)
Array 和 ArrayList 有何区别?(未完成)