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')
 
一次输出行运行结果

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')
 
单元格内换行运行结果图

三.设置单元格的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')
 
单元格边框style 运行结果图

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')
 
合并单元格 运行效果图

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')
 
单元格填充颜色 效果图

四.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的使用笔记的更多相关文章

  1. Ubuntu下配置python完成爬虫任务(笔记一)

    Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...

  2. python核心编程第二版笔记

    python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d   提供调试输出1.2 –O   生成优化的字节码(生成 ...

  3. Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  4. 转载-《Python学习手册》读书笔记

    转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html

  5. python学习第五次笔记

    python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...

  6. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  7. 【转发】Python使用openpyxl读写excel文件

    Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...

  8. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  9. Python for循环学习总结笔记

    循环是任何语⾔的⼀个必备要素.同样地,for循环就是Python的⼀个重要组成部分.然而还有⼀些内容是初学者常常忽视的.下面是Python for循环学习总结笔记,一起来查漏补缺吧!         ...

随机推荐

  1. .netcore 输出 json 的变量命名格式

    从mvc  迁移到的 .netcore mvc 的时候 ,发现很多js 报错,查了一下  居然是变量的大小改变了,这个需要到 starup.cs 设置 //设置返回 json 格式 首字母问题 按原格 ...

  2. win7电脑数字键盘失灵怎么办

    转自:https://zhidao.baidu.com/question/370674322729785324.html 解决方法: 第一步.同时按下“Windows键” + “R”调出运行窗口. 第 ...

  3. c#重写了窗体的OnKeyDown事件,但是不执行

    设置下窗体的KeyPreview属性值为True即可 总结:遇到类似这样的问题,比如其他窗体运行没问题,就新建的窗体有问题.应该检查下窗体的属性.

  4. C++ 虚函数相关

    多态 C++的封装.继承和多态三大特性,封装没什么好说的,就是把事务属性和操作抽象成为类,在用类去实例化对象,从而对象可以使用操作/管理使用它的属性. 至于继承,和多态密不可分.基类可以进行派生,而派 ...

  5. Image Processing and Analysis_21_Scale Space:Scale-Space for Discrete Signals——1990

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  6. c#系统预定义类型

  7. xtrabackup数据库备份工具

    下来我来介绍一下更强大的备份工具:xtrabackup xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速 ...

  8. U盘装manjaro 18报Python error in job “initcpio”

    更新: 还是不行,大家再找别的方法. 以下内容仅做参考,意义不大. U盘安装 用rufus做U盘,写入选DD模式,比ISO模式可靠点. 错误解决 报错信息: Error installing Manj ...

  9. AVL树(C++&Java)

    目录 AVL Tree精讲专题 前言 一.AVL Tree for CPP(Coding) 1.AVL树原型 2.旋转的四种方式 二.完整版AVL Tree的CPP和JAVA实现 AVL Tree C ...

  10. 【转】SpringBoot自定义序列化的使用方式--WebMvcConfigurationSupport

    场景及需求: 项目接入了SpringBoot开发,现在需求是服务端接口返回的字段如果为空,那么自动转为空字符串. 例如:[     {         "id": 1,       ...