关于Python里xlwings库对Excel表格的操作(二十七)

news2025/1/8 4:02:16

这篇小笔记主要记录如何【如何使用xlwings库的“Charts类” 在一个工作表中创建多个图表】前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】【点击此处可进入目录】
(1)如何安装导入xlwings库;
(2)如何在Wps下使用xlwings中使用WPS对表格操作;
(3)如何安装导入xlwings库、如何用xlwings打开要操作的Excel表格;
(4)如何使用xlwings对Excel表格数据进行读取操作;
(5)如何使用xlwings对Excel表格进行“保存”或“另存为”操作;
(6) 如何使用xlwings对Excel表格进行写入数据操作;
(7)如何使用xlwings向Excel表格中写入Excel公式;
(8)如何使用xlwings库中的“name"函数和“replace”函数对工作表进行改名;
。。。。。。等等

【如何使用xlwings库的“Charts类” 在一个工作表中创建多个图表】

一、用“.charts.add”创建新图表;

二、用“.charts.name”重命名新图表;

三、用“.charts.set_source_data(数据区域)”设置图表的数据源;

四、用“.Charts.chart_type='参数'”设置图表类型;

五、用“.api[1].HasTitle = True ”设置图表标题是否显示;

六、用“.ChartTitle.Text = "图表标题"” 设置标题显示的文本。

(1)第一步:Work_Chart_1= Work_Sheet.charts.add(left=450, top=1, width=300, height=200)

#新建第1份图表并赋给变量Work_Chart_1,并设置位置和大小(“left”与左边的距离,“top”与顶边的距离,“width”图表的长,“height”图表的高)

        第二步:Work_Chart_1.name='学生成绩图表1'  

# 为图表命名,相当于把工作表默认的“Sheet1”重命名为其它名称一样。  

(2)第三步:Work_Chart_2= Work_Sheet.charts.add(left=10, top=200, width=300, height=200)

#新建第2份图表并赋给变量Work_Chart_2,并设置位置和大小(“left”与左边的距离,“top”与顶边的距离,“width”图表的长,“height”图表的高)

          第四步:Work_Chart_2.name='学生成绩图表2'  

# 为图表命名,相当于把工作表默认的“Sheet1”重命名为其它名称一样。

【举例说说更直观】

'''
一、用“.charts.add”创建新图表;
二、用“.charts.name”重命名新图表;
三、用“.charts.set_source_data(数据区域)”设置图表的数据源;
四、用“.Charts.chart_type='参数'”设置图表类型; 
五、用“.api[1].HasTitle = True ”设置图表标题是否显示;
六、用“.ChartTitle.Text = "图表标题"” 设置标题显示的文本;
然后是保存,关闭。
'''
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False               #关闭各种提示信息,可以提高运行速度
File_Name='E:/素材/学生成绩表.xls'
#打开要处理的Excel文件名
Work_Book=app.books.open(File_Name)      
#打开要处理的Excel文件中的工作簿
Work_Sheet=Work_Book.sheets[0]      
#打开要处理的Excel工作簿中的工作表;
#“[0]”是指定打开最靠前的第1份工作表,也可以把“0”写成要打开的指定要打开的“工作表的名称”;
#现在只打开这一个工作表也相当于激活这工作表,后面没有打开激活另一工作表,则所有操作只对现这工作表起作用。

Work_Chart_1= Work_Sheet.charts.add(left=450, top=1, width=300, height=200)
#新建一个图表,并设置位置和大小(“left”与左边的距离,“top”与顶边的距离,“width”图表的长,“height”图表的高)
Work_Chart_1.name='学生成绩图表1'  
# 为图表命名,相当于把工作表默认的“Sheet1”重命名为其它名称一样。  
Chart_Data_1=Work_Sheet.range('B1:F9')  
# 指定统计成图表的数据,数据区域中最左边列和最顶部行作为坐标轴  
Work_Chart_1.set_source_data(Chart_Data_1)  
# 设置数据源
Work_Chart_1.chart_type='line'        
# 设置图表类型(如折线型,直方图型等),若无设置则是读取。 
Work_Chart_1.api[1].HasTitle = True
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。  
#“.HasTitle”通过API设置标题可见性(打开显示是True,关闭显示是False。这是一个例子,具体设置可能因 Excel 版本而异)  
Work_Chart_1.api[1].ChartTitle.Text = " 学 生 成 绩 图 表 顶 标 题 1"  
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#“.ChartTitle.Text = "图表标题"” 通过API设置标题文本,若无设置则是读取。
Work_Chart_2= Work_Sheet.charts.add(left=10, top=200, width=300, height=200)
#新建一个图表,并设置位置和大小(“left”与左边的距离,“top”与顶边的距离,“width”图表的长,“height”图表的高)
Work_Chart_2.name='学生成绩图表2'  
# 为图表命名,相当于把工作表默认的“Sheet1”重命名为其它名称一样。  
Chart_Data_2=Work_Sheet.range('B1:F9')  
# 指定统计成图表的数据,数据区域中最左边列和最顶部行作为坐标轴  
Work_Chart_2.set_source_data(Chart_Data_2)  
# 设置数据源
Work_Chart_2.chart_type='line'        
# 设置图表类型(如折线型,直方图型等),若无设置则是读取。 
Work_Chart_2.api[1].HasTitle = True
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。  
#“.HasTitle”通过API设置标题可见性(打开显示是True,关闭显示是False。这是一个例子,具体设置可能因 Excel 版本而异)  
Work_Chart_2.api[1].ChartTitle.Text = " 学 生 成 绩 图 表 顶 标 题 2"  
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#“.ChartTitle.Text = "图表标题"” 通过API设置标题文本,若无设置则是读取。
Chart_Name=Work_Sheet.charts
# “charts[0]”是指获取“Work_Sheet”指定工作表中的所有图表名称及在工作表。
print(f'“charts.name”显示当前激活的工作表及其里面的所有图表名称:{Chart_Name}')
Chart_Name_1=Work_Sheet.charts[0].name
# “charts[0]”是指获取“Work_Sheet”指定工作表中的第1份图表的名称(只有名称)
print(f'"charts[0].name"只显示第1份图表的名称:{Chart_Name_1}')
Chart_Name_2=Work_Sheet.charts[1].name
# “charts[0]”是指获取“Work_Sheet”指定工作表中的第2份图表的名称(只有名称)
print(f'"charts[1].name"只显示第2份图表的名称:{Chart_Name_2}')
print()
Chart_Title_1=Work_Chart_1.api[1].ChartTitle.Text
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#用“.ChartTitle.Text”读取图表标题并赋给变量。
print(f'第1份图表的标题是:{Chart_Title_1}')
Chart_Title_2=Work_Chart_2.api[1].ChartTitle.Text
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#用“.ChartTitle.Text”读取图表标题并赋给变量。
print(f'第2份图表的标题是:{Chart_Title_2}')
Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。

【运行前的表格】

【运行后的表格】

【终端的结果】

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

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

相关文章

分布式定时任务Xxl_Job详细使用手册

看了很多网上的版本,思路描述的都不是很清晰,都只是几步操作就完成了,看效果,导致容易走入弯路(不排除是自己理解能力把),最开始以为是把admin模块集成到项目,后来测试了会&#xff…

ubuntu terminator 非常好用的护眼配置

安装 sudo apt install terminator 配置文件:sudo gedit ~/.config/terminator/config (如果没有就创建) 配置如下: [global_config] handle_size -3 title_transmit_fg_color "#000000" title_trans…

YOLOv8训练损失、mAP画图功能 | 支持多结果对比,多结果绘在一个图片(科研必备)

一、本文介绍 本文给大家带来的是YOLOv8系列的绘图功能,我将向大家介绍YOLO系列的绘图功能。我们在进行实验时,经常需要比较多个结果,针对这一问题,我写了点代码来解决这个问题,它可以根据训练结果绘制损失(loss)和mA…

稳部落 – 新浪微博备份导出工具

稳部落 稳部落是新浪微博备份导出工具,可以帮助用户非常方便的导出备份新浪微博的数据,让我们可以永久保存这些微博数据。它支持新浪微博、微博私信、微博评论的导出,并可以备份包含图片、视频的完整微博内容。用户只需登录微博账号&#xf…

浅学一下哈

1.新建用户test不建家目录不允许登录,uid为10086_____________________ useradd -u 10086 -M -s /sbin/nologin 2.将 /opt 文件夹中所有文件的属主,属组改成,test_______________________ chown -R test.test /opt chown -R …

小红书、抖音、视频号下载工具:随心管理个人作品集 | 开源日报 No.134

karanpratapsingh/system-design Stars: 20.6k License: NOASSERTION 这个项目是关于系统设计的。它提供了有关系统设计的课程内容,包括 IP、OSI 模型、TCP 和 UDP 等主题。该项目的核心优势和特点如下: 提供全面而高效的系统架构定义。从基础设施到数…

【XR806开发板试用】FreeRTOS创建任务测试

这篇来学习下,XR806开发板在FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试。 一、复制工程 上篇测试了hello_demo的测试例程,直接复制这个工程文件,在此基础上修改 rootubuntu:/home/…

C语言实验6:文件

目录 一、实验要求 二、实验原理 1. 文件的基本概念 2. 文件指针 3. 文件的打开与关闭 3.1 fopen 3.2 fclose 4. 文件的读写操作 4.1 fread 4.2 fwrite 5. 文件的定位 三、实验内容 3.1 文件复制 代码 截图 分析 3.2 单词统计 代码 截图 分析 一、实验要求…

流量预测_MLP模型_keras

目录 0、我在干什么?1、import libararies2、加载数据load data3、独家观察数据函数 :heartbeat:4、数据预处理pre-processing(1)将时间戳转换为一个日期时间索引(2)填充所有缺失的值(3)将时间序…

GPT如何完成技术路线图?

GPT如何完成技术路线图? 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析,AI画图,图像识别,文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定制自己的GPTs 1.自定义GPTs使用…

POC-700系列 支持多功能扩展的强固型无风扇嵌入式计算平台

POC-700系列是一款拥有小巧紧凑尺寸的无风扇嵌入式计算平台,搭载了英特尔 Alder Lake i3-N305或凌动 x7425E处理器,提供高达32个执行单元(EU) UHD图形功能,8核8线程,而其功耗非常低,仅为12W。POC-700系列可支持英特尔 …

2 - 表结构 | MySQL键值

表结构 | MySQL键值 表管理1. 库的操作2. 表的操作表的创建与删除表的修改复制表 3. 管理表记录 数据类型数值类型字符类型(汉字或者英文字母)日期时间类型 表头存储与日期时间格式的数据枚举类型 数据批量处理 表管理 客户端把数据存储到数据库服务器上…

Java项目:104SpringBoot就业管理系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 就业管理系统基于SpringBootMybatis开发,系统分为两种角色,分别是管理员和普通用户。 管理员功能如下: 就业信息管理…

一、医学影像云平台(AI赋能基层的最佳实践)

医学影像云平台,是一个目前影像业务中,各省市级领导比较重视的业务板块。因为,影像平台不但可以直接给原来没有PACS系统的1,2级医院提供PACS服务,还可以提供院间之间的业务,例如发送远程诊断,远程会诊业务&…

银行业绩数据监控大屏:驾驭金融海洋的航标

在金融领域,数据就是生命线。如何有效地监控和管理这些数据,确保银行业绩的稳健发展,已成为银行业内亟待解决的问题。而银行业绩数据监控大屏,正是解决这一问题的有力工具。 一、实时监控,把握业绩动态 银行业绩数据监…

前端八股文(CSS篇)二

目录 1.css中可继承与不可继承属性有哪些 2.link和import的区别 3.transition和animation的区别 4.margin和padding的使用场景 5.::before和:after的双冒号和单冒号有什么区别? 6.display:inline-block什么时候会显示间隙 7…

2024年【建筑焊工(建筑特殊工种)】考试试卷及建筑焊工(建筑特殊工种)考试总结

题库来源:安全生产模拟考试一点通公众号小程序 建筑焊工(建筑特殊工种)考试试卷根据新建筑焊工(建筑特殊工种)考试大纲要求,安全生产模拟考试一点通将建筑焊工(建筑特殊工种)模拟考试试题进行汇编,组成一套建筑焊工(建筑特殊工种)全真模拟考…

TinyEngine 服务端正式开源啦!!!

背景介绍 TinyEngine 低代码引擎介绍 随着企业对于低代码开发平台的需求日益增长,急需一个通用的解决方案来满足各种低代码平台的开发需求。正是在这种情况下,低代码引擎应运而生。它是一种通用的开发框架,通过对低代码平台系统常用的功能进…

JavaWeb——前端之AjaxVue

6. 前后端交互 6.1 Ajax(原生的) 概念: Asynchronous JavaScript And XML(异步的JavaScript和XML) 作用: 数据交互:通过Ajax可以给服务器发送请求,并获取服务器响应的数据异步交…

大数据时代快速获取数据方法,爬虫技术理论剖析与实战演练

一、教程描述 人工智能和机器学习,都离不开数据,若是没有数据,再好的算法,再好的模型,都没有用武之地。数据不仅是指现成的数据库,更加是指每天增加的海量互联网数据。本套教程将通过多个实战项目&#xf…