Python:Excel自动化实践入门篇 乙【送图书活动继续】
*以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/y-npGelPJwmx3iNvHaXRTg
正文开始之前,提醒一下朋友们,送图书的活动还在继续,朋友们请加紧时间点击 参与一下》,不要错过哦!
算术操作
在处理 excel 表格数据时,经常会用到公式来对数据执行统计。那么自动化怎么统计呢?
直接把计算公式赋值给输出结果的单元格 cell,下面试一下计算区域数据的和
import openpyxl
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet['A1'] = 100
sheet['A2'] = 200
sheet['A3'] = 300
sheet['A4'] = 400
sheet['A5'] = 500
sheet['A7'] = '= SUM(A1:A5)'
workbook.save("sum.xlsx")
看看实际效果
调整行高和列宽
很多时候也需要对存储某些信息量的行列进行宽高调整,那么每个都要手动拖动拉伸就很令人苦恼了。这里介绍如何自动化设置行高和列宽。利用到修改单元格 cell 的属性 height 和属性 width 的值。
下面举个例子
import openpyxl
workbook = openpyxl.load_workbook("test.xlsx")
sheet = workbook.active
sheet.row_dimensions[6].height = 70
sheet.column_dimensions['C'].width = 20
workbook.save('test.xlsx')
看看实际效果
这就是简单的调整行高和列宽,会影响到同一行或列的所有单元格。
合并单元格
有些表格中,部分区域的单元格可以作为同一个单元格使用,那么就可以对其执行合并操作了。
合并操作通过表格 sheet 的 merge_cells() 方法实现,下面看看代码
import openpyxl
workbook = openpyxl.load_workbook("test.xlsx")
sheet = workbook.active
sheet.merge_cells("B2:C4")
workbook.save('test.xlsx')
看看实际效果
可以看到原来区域 B2:C4 中都是分离的单元格,现在合并成一个单独的单元格了。
拆分单元格
和合并单元格相对的,也有需要对单元格拆分的时候。拆分单元格使用的是表格 sheet 的 unmerge_cells() 方法。
再对上面的表格中被合并的单元格执行拆分处理
import openpyxl
workbook = openpyxl.load_workbook("test.xlsx")
sheet = workbook.active
sheet.unmerge_cells("B2:C4")
workbook.save('test.xlsx')
看看实际效果
现在又变回合并前的样子了
设置字体
同样的,表格里的有些字体也是可能需要特别设置,对于查阅内容比较有帮助。可以通过 openpyxl 的 styles 模块的 Font() 方法执行配置。
下面试一下,把单元格 A1 的内容设置为字体大小 24,粗体,italic,字体名字为 ‘Times New Roman’
import openpyxl
from openpyxl.styles import Font
workbook = openpyxl.load_workbook("test.xlsx")
sheet = workbook.active
sheet.cell(row = 1,
column = 1).font = Font(size = 24,
italic = True,
bold = True,
name = 'Times New Roman')
workbook.save('test.xlsx')
看看实际效果
绘图表
为了让 excel 表格里的内容更加便于理解,离不开数据的可视化,excel 就提供了绘制图表的功能来体现数据可视化。表格中数据和绘制的图表关联之后,数据的变更也会自动同步到图表中。
现在就介绍用到自动化的方式来绘制图表,举个栗子,现在表格里插入一列数据,然后用 Reference() 选中表格中的数据域,创建柱状图表并关联刚选中的数据域,设置表头、xy轴标签,再生成图表,最后把工作簿保存到文件 sample.xlsx。
import openpyxl
from openpyxl.chart import BarChart
from openpyxl.chart import Reference
workbook = openpyxl.Workbook()
sheet = workbook.active
# 插入数据到表格 sheet
for i in range(10):
sheet.append([i])
# 选中表格的数据域
values = Reference(sheet,
min_col = 1,
min_row = 1,
max_col = 1,
max_row = 10)
# 创建柱状图表
chart = BarChart()
# 关联数据域到图表
chart.add_data(values)
# 设置图表表头
chart.title = " 实例图标 "
chart.x_axis.title = " X 轴 "
chart.y_axis.title = " Y 轴 "
# 生成图表,并贴到单元格 C2
sheet.add_chart(chart, "C2")
workbook.save("sample.xlsx")
看看实际效果
当然,除了可以生成柱状图,还可以生成饼状图、线状图等等,这里不展开了。
图片操作
有些时候也需要往 excel 表格里插入图片,那么可以使用 openpyxl.drawing.image.Image 来实现。
由于 openpyxl.drawing.image.Image 依赖于第三方模块 pillow,所以在执行调试环境里还需要安装库 pillow。前面已经安装,这里略过。
试一下把下面的图插入新建的 excel 表格里
import openpyxl
from openpyxl.drawing.image import Image
workbook = openpyxl.Workbook()
sheet = workbook.active
img = Image("beauty.jpg")
sheet.add_image(img, 'B2')
workbook.save("img.xlsx")
看看实际效果
《Python:Excel自动化实践入门篇》的介绍就到此结束了。由于篇幅受限,本系列教程分成了下面几个部分,有兴趣的朋友可点击跳转查阅
Python:Excel自动化实践入门篇 乙【送图书活动继续】的更多相关文章
- 学习笔记之盘一盘 Python 系列 1 & 2 - 入门篇
盘一盘 Python 系列 1 & 2 - 入门篇 https://mp.weixin.qq.com/s?__biz=MzIzMjY0MjE1MA==&mid=2247486473&a ...
- Python 内置界面开发框架 Tkinter入门篇 乙
本文大概 1685 个字,阅读需花 6 分钟内容不多, 但也花了一些精力如要交流, 欢迎关注我然后评论区留言 谢谢你的点赞收藏分享 这篇文章属于系列文章<Python 内置界面开发框架 Tkin ...
- python学习之路入门篇
本文是up学习python过程中遇到的一些问题及总结归纳,本小节是入门篇. python基本语法 循环.分支不多赘述. 模块:一个.py文件就是一个模块. 文件和异常 模式 含义解释 “r” 读模式 ...
- 小白的 Python 修炼手册:入门篇
Life is short, you need Python.(人生苦短,我用 Python.) --Bruce Eckel 前言 听说现在是全民 Python 的时代,虽然不知道事实如何,但学会 P ...
- web自动化-selenium 入门篇
selenium安装介绍 selenium是web浏览器的自动化工具 官网:https://www.selenium.dev 构成: WebDriver: 浏览器提供的浏览器api来控制浏览器(模拟用 ...
- 学习python之路_入门篇A
偶尔经同事的介绍进入了金角大王的博客里,看到大王编写的文章都是关于python编程的,由于自己一直也是做软件测试方面的工作,也一直想往自动化测试方面发展,了解到利用python可以进行自动化测试操作, ...
- python接口自动化11-pytest入门
前言 pytest是一个非常成熟的全功能的Python测试框架,适合从简单的单元到复杂的功能测试,主要特点有以下几点: 简单灵活,容易上手: 支持参数化: 能够支持简单的单元测试: 标记测试功能与属性 ...
- Python 内置界面开发框架 Tkinter入门篇
本文大概 4158 个字,阅读需花 10 分钟 内容不多,但也花了一些精力 如要交流,欢迎关注我然后评论区留言 谢谢你的点赞收藏分享 首先,今天先给大家拜个好年!新年快乐,恭喜发财!为了感谢大家对我的 ...
- Python 内置界面开发框架 Tkinter入门篇 丙(文末有福利彩蛋,今天可是元宵节)
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/B1hH5Qzd2RkAiiUId1tLWw 本文大概 2874 个字 ...
- Python selenium自动化测试框架入门实战--登录测试案例
本文为Python自动化测试框架基础入门篇,主要帮助会写基本selenium测试代码又没有规划的同仁.本文应用到POM模型.selenium.unittest框架.configparser配置文件.s ...
随机推荐
- USB限流IC,限流开关保护芯片
PW1503和PW1502是超低RDS(ON)开关,具有可编程电流限制的USB限流IC,以保护电源于过电流负载和正极负极短路的保护.它具有过温保护以及反向闭锁功能. PW1503,PW1502均采用S ...
- Pointers and Constants
Pointers and Constants char * const q = "abc"; // q is const *q = 'c'; // OK q++; //ERROR ...
- 关键字break和continue
关键字:break 和continue提供了另一种控制循环的方式. break 是直接退出循环体 如: continue 是退出当前循环迭代 如: 需要注意的是:使用过多的break和continu ...
- 巧如范金,精比琢玉,一分钟高效打造精美详实的Go语言技术简历(Golang1.18)
研发少闲月,九月人倍忙.又到了一年一度的"金九银十"秋招季,又到了写简历的时节,如果你还在用传统的Word文档寻找模板,然后默默耕耘,显然就有些落后于时代了,本次我们尝试使用云平台 ...
- ctfshow——萌新web3
题目如下: 源码分析: 通过id可以传入一个参数,对id的值进行了过滤,这里是正则匹配过滤,内容分析:or,-,\,*,<,>,!,x,hex,+.最外面的i是同时匹配过滤内容的大小写.在 ...
- 网络监测工具之Zabbix的搭建与测试方法(三) ---Zabbix Agent
安装客户端 在官方网站下载最新版本zabbix agent v6.2.6,然后默认安装,其中配置服务端的界面如下图: 其他一律默认即可. 启用发现功能 如上图所示,开启发现规则,默认搜索zabbix ...
- [OpenCV实战]8 深度学习目标检测网络YOLOv3的训练
目录 1 数据集 1.1 下载openImages雪人数据[约1.5小时] 1.2 训练集测试集拆分 2 Darknet 2.1 下载并构建Darknet 2.2 修改代码以定期保存模型文件 2.3 ...
- 【带你读论文】向量表征经典之DeepWalk
摘要:详细讲解DeepWalk,通过随机游走的方式对网络化数据做一个表示学习,它是图神经网络的开山之作,借鉴了Word2vec的思想. 本文分享自华为云社区<[论文阅读] (25) 向量表征经典 ...
- Java8常见函数式接口总结
函数式接口 函数式接口:有且仅有一个抽象方法的接口. 使用@FunctionalInterface注解来标记.如果接口不是函数式接口就会编译出错 满足条件的接口即使不加上注解,那也是函数式接口 函数式 ...
- MarkDown语法----纯文本格式的标记语言
一.基本语法 1.标题 一级标题: "# + 空格 + 标题内容" 二级标题: "## + 空格 + 标题内容" .... 2.字体 粗体: "**+ ...