编程小白的自学笔记十七(python办公自动化操作EXCEL表格之作图)

系列文章目录

编程小白的自学笔记十六(python办公自动化操作EXCEL表格)

编程小白的自学笔记十五(python办公自动化操作EXCEL表格)

编程小白的自学笔记十四(python办公自动化创建、复制、移动文件和文件夹

编程小白的自学笔记十三(python办公自动化读写文件)

编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)

编程小白的自学笔记十一(python爬虫入门三Selenium的使用+实例详解)

编程小白的自学笔记十(python爬虫入门二+实例代码详解) 

编程小白的自学笔记九(python爬虫入门+代码详解) 


目录

系列文章目录

文章目录

前言

一、条件选择后添加背景

二、插入柱状图

总结


前言

今天我们学习两个小案例,感觉还都是非常实用的:

  1. 小实战1:条件选择后添加背景
  2. 小实战2:生成柱状图

一、条件选择后添加背景

昨天我们已经完成了表格大部分操作,并且将数值大于50的复制到一个新表,现在我们来试试将数值大于50的行背景改为黄色,而文字设置一个随便什么颜色,先试试看,然后再详解代码,我们第一次写的代码是:

from openpyxl.styles import Font,PatternFill
import openpyxl
wb=openpyxl.load_workbook('大于50的表格.xlsx')
ws=wb.active
wb.copy_worksheet(ws)
ws.title='我是新的'
font = Font(name='黑体',size=30,bold=True,italic=True,color='000ff0')
fill = PatternFill(fill_type='solid',fgColor='ffff00')
rows = wb['我是新的'].rows
for row in rows:if int(row[1].value)>75:row[0].fill=fillrow[1].font=font
wb.save('大于50的表格.xlsx')

 运行后,成功了

 

详解代码:

from openpyxl.styles import Font,PatternFill’,很好理解,导入字体库和填充库

wb.copy_worksheet(ws)’,这段代码是为了不破坏原有的表格,所以我重新复制了一份。

经实验,“color='000ff0'”是蓝色

这个实验还是有两个地方没有达到预期的效果;

一是没有将一行所有的单元格都填充,也没有将一行所有单元格的字体改变。这好办,是我们少写了,只需将代码增加两行。

二是我们仔细观察可以发现,我们复制出工作簿以后,修改的是原工作簿,我们想是修改复制后的工作表,重命名也是复制后的工作表,原表是一切不变,我把新建的工作表删掉,再把原表的名称修改回来,我们尝试修改代码:

rom openpyxl.styles import Font,PatternFill
import openpyxl
wb=openpyxl.load_workbook('大于50的表格.xlsx')
ws=wb.active
ws=wb.copy_worksheet(ws)
ws.title='我是新的'
font = Font(name='黑体',size=30,bold=True,italic=True,color='000ff0')
fill = PatternFill(fill_type='solid',fgColor='ffff00')
rows = wb['我是新的'].rows
for row in rows:if int(row[1].value)>75:row[0].fill=fillrow[1].fill = fillrow[0].font = fontrow[1].font=font
wb.save('大于50的表格.xlsx')

 运行成功后,实现了我们想要的结果。

 

二、插入柱状图

在EXCEL表格使用中,难免要将数据生成柱状图插入表格,因为图形会显的更加直观,而且我发现以前的office生成图标很简单,现在的wps要登录才行,是不是要会员就不清楚了,毕竟我登录都不想登录,我们先来看看生成柱状图代码:

from openpyxl.chart import BarChart,Reference
import openpyxl
wb=openpyxl.load_workbook('大于50的表格.xlsx')
ws=wb['我是新的']
chart=BarChart()
data=Reference(worksheet=ws,min_row=1,max_row=6,min_col=1,max_col=2)
categories=Reference(ws,min_row=2,max_row=6,min_col=1)
chart.add_data(data,titles_from_data=True)
chart.set_categories(categories)
ws.add_chart(chart,'F6')
wb.save('大于50的表格.xlsx')

 运行成功,我们来看运行结果

 

 

代码详解:

from openpyxl.chart import BarChart,Reference是Python编程语言中导入openpyxl库中的BarChart和Reference类的语句。

BarChart是openpyxl库中的一个类,用于创建条形图。它可以接受一系列数据并将其绘制成条形图。

Reference是openpyxl库中的一个类,用于在Excel工作表中引用单元格或范围。它可以用于在图表中设置数据源。

chart=BarChart()是Python编程语言中创建一个BarChart对象的语句。

BarChart是openpyxl库中的一个类,用于创建条形图。它可以接受一系列数据并将其绘制成条形图。

在这个语句中,我们将BarChart类的实例赋值给变量chart,这样我们就可以使用这个实例来创建和修改条形图了。

data=Reference(worksheet=ws,min_row=1,max_row=6,min_col=1,max_col=2) 是Python编程语言中创建一个Excel工作表中的数据引用的语句。

Reference是openpyxl库中的一个类,用于在Excel工作表中引用单元格或范围。它可以用于在图表中设置数据源。

在这个语句中,我们将一个Reference对象赋值给变量data。这个对象指定了要引用的数据的范围和位置。具体来说,它指定了要引用的工作表(在这里是ws),以及要引用的单元格的最小行号(1)、最大行号(6)、最小列号(1)和最大列号(2)。这意味着我们将引用第1到第6行、第1到第2列之间的所有单元格。

chart.add_data(data,titles_from_data=True) 是Python编程语言中在openpyxl库中创建一个BarChart对象时添加数据和标题的语句。

在这个语句中,我们将数据引用(data)和一个布尔值(True)作为参数传递给BarChart对象的add_data()方法。这个方法用于向图表中添加数据。

同时,我们还设置了一个名为titles_from_data的参数,它的值为True。这意味着我们希望从数据中自动提取标题并将其添加到图表中。如果我们没有显式地提供标题,那么这个参数将被忽略。

ws.add_chart(chart,'F6')

这表示表格插入的位置,这很好理解。

 其实这个表格也没有达到我们想要的预期,在这个案例中,我们并不想每个序号生成两个柱状图,但是却是有一蓝一红两根柱子,试试看怎么去,一是我把序号内容改成文字,看看会怎么样.

 

 没有报错,而且得到我们想要的样式。

二是我们将数值改成文字看看会怎么样

错误是没有报错,也生成了图形,只是没有柱子。

三是我们还是改代码,得到我们想要的结果,思来想去,只能把代码

data=Reference(worksheet=ws,min_row=1,max_row=6,min_col=1,max_col=2)

改为

data=Reference(worksheet=ws,min_row=1,max_row=6,min_col=2)


总结

1024

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12. 机器学习 - 拟合

Hi, 你好. 我是茶桁. 这一节课一开始我们要说一个非常重要的概念: 拟合. 拟合 相信只要你关注机器学习, 那么多少在某些场合下都会听到拟合这个概念. 什么叫做拟合,什么叫做过拟合或者欠拟合呢? 假如有一个模型, 这个模型在训练数据的时候效果很好, 体现在loss很小, 或者说…

系统配置与性能评价

系统配置与性能评价(0-2分) 章节介绍 系统性能(性能指标) 在web服务器的测试中,反映其性能的指标主要有最大并发连接数,响应延迟和吞吐量等。 常见的web服务器性能评测方法有基准性能测试,压力…

决策树完成图片分类任务

数据集要求: 训练集 和 验证集 (要求分好) 图片放置规则 : 一个总文件夹 放类别名称的子文件夹 其中子文件夹 为存放同一类别图片 举个例子 分类动物 则 总文件夹名称为动物 子文件夹为 猫 狗 猪猪 。。。 其中猫的文件夹里面…

css-边框流水线

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"initial-scale1.0, user-scalableno" /><title></title><style type&…

Java将djvu文件转成pdf

需求来源 迫于有部分资源是djvu格式的文件&#xff0c;需要预览这部分文件&#xff0c;web端无法直接预览djvu&#xff0c;所以需要将djvu转成pdf。 转换方法 简单来说就是先把djvu文件转换成tiff文件&#xff0c;再将tiff文件转换成pdf文件。 Ubuntu服务器 如果服务器是U…

二分查找:如何快速定位IP对应的省份地址?

文章来源于极客时间前google工程师−王争专栏。 通过IP地址查找IP归属地功能&#xff1a; 这个功能是通过维护一个很大的IP地址库来实现。地址库中包含IP地址范围和归属地的对应关系。 当我们查询202.201.133.13这个IP地址归属地时&#xff0c;在地址库中搜索&#xff0c;这个…

H3C AC通过Web平台进行AC软件的升级?

软件升级的流程 1、获取软件版本 登录新华三官网&#xff08;首页>产品支持与服务>文档与软件>软件下载&#xff09;&#xff0c;将指定的软件版本下载至本地。 无线路由器-无线接入点-无线控制器-新华三集团-H3C 官网软件下载公共账号密码&#xff1a;账号&#x…

c语言刷题(第8周)

输入整数m,n&#xff08;m&#xff1c;n&#xff09;&#xff0c;输出[m,n]之间所有能被3&#xff0c;不能被4整除的所有数并求和&#xff0c;输出时每行显示5个数。 题干输入整数m,n&#xff08;m&#xff1c;n&#xff09;&#xff0c;输出[m,n]之间所有能被3&#xff0c;不…

C++进阶篇2---多态

1.多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是当不同的对象&#xff0c;去完成某个行为&#xff0c;会产生不同的状态 举个例子&#xff1a;同样是吃饭&#xff0c;狗吃狗粮&#xff0c;猫吃猫粮&#xff0c;不同的对象&#…

nodejs+vue大学生社团管理系统

通过软件的需求分析已经获得了系统的基本功能需求&#xff0c;根据需求&#xff0c;将大学生社团管理系统平台功能模块主要分为管理员模块。管理员添加社团成员管理、社团信息管理&#xff0c;社长管理、用户注册管理等操作。 目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1…

asp.net社区医疗辅助诊断网站系统VS开发sqlserver数据库web结构c#编程

一、源码特点 asp.net社区医疗辅助诊断网站系统 是一套完善的web设计管理系统&#xff0c;系统采用mvc模式&#xff08;BLLDALENTITY&#xff09;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver200…

spring懒加载

简介 Spring默认会在容器初始化的过程中&#xff0c;解析xml或注解&#xff0c;创建配置为单例的bean并保存到一个map中&#xff0c;这样的机制在bean比较少时问题不大&#xff0c;但一旦bean非常多时&#xff0c;spring需要在启动的过程中花费大量的时间来创建bean &#xff0…

Flink学习笔记(四):Flink 四大基石之 Window 和 Time

文章目录 1、 概述2、 Flink 的 Window 和 Time2.1、Window API2.1.1、WindowAssigner2.1.2、Trigger2.1.3、Evictor 2.2、窗口类型2.2.1、Tumbling Windows2.2.2、Sliding Windows2.2.3、Session Windows2.2.4、Global Windows 2.3、Time 时间语义2.4、乱序和延迟数据处理2.5、…

Git(一)Windows下安装及使用Git Bash

目录 一、简介1.1 什么是Git&#xff1f;1.2 Git 的主要特点1.3 什么是 Git Bash&#xff1f; 二、下载三、安装3.1 同意协议3.2 选择安装位置3.3 其他配置&#xff08;【Next】 即可&#xff09;3.4 安装完毕3.5 打开 Git Bash 官网地址&#xff1a; https://www.git-scm.com/…

视频去噪网络BSVD的实现

前些天写了视频去噪网络BSVD论文的理解&#xff0c;详情请点击这里&#xff0c;这两个星期动手实践了一下&#xff0c;本篇就来记录一下这个模型的实现。 这个网络的独特之处在于&#xff0c;它的训练和推理在实现上有所差别。在训练阶段&#xff0c;其使用了TSM&#xff08;T…

基于斑马优化的BP神经网络(分类应用) - 附代码

基于斑马优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于斑马优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.斑马优化BP神经网络3.1 BP神经网络参数设置3.2 斑马算法应用 4.测试结果&#xff1a;5.M…

虚拟机安装centos系统后配置桥接网络

一.桥接网络和nat网络的区别 桥接模式 通过使用物理机网卡 具有单独ip,但是需要手动配置。 在bridged模式下&#xff0c;VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机&#xff0c;它可以访问网内任何一台机器。主机网卡和虚拟网卡的IP地址处于同一个网段&#xff…

Mybatis的SqlRunner执行流程

Mybatis的SqlRunner执行流程 SqlRunner exec new SqlRunner(connection); Map<String, Object> row exec.selectOne("SELECT * FROM PRODUCT WHERE PRODUCTID ?", "FI-SW-01");connection.close();assertEquals("FI-SW-01", row.ge…

【QT开发(10)】QT 进程

文章目录 1.1 运行一个新进程1.2 QProcess 还可以对一些信号进行关联2 进程间通信2.1 使用共享内存实现进程通信2.2 演示 代码仓库参考 1.1 运行一个新进程 使用类 QProcess&#xff0c;允许将一个进程堪称一个顺序IO设备。 在Qt中&#xff0c;QProcess类是用于启动外部进程的…

大模型与知识图谱如何相互助力

目前各行各业在数字化、智能化发展的大势所趋下&#xff0c;信息新技术不断涌现&#xff0c;也在加快深入融合到传统实体行业应用中&#xff0c;比如知识图谱、人工智能、数字孪生等等&#xff0c;特别是基于人工智能的大模型在去年底被chatgpt的带领下涌现出一波又一波的浪潮&…