函数作用
获取Excel单元格中的闪烁图对象。
函数说明
- get_sparkline_group方法是Worksheet对象的方法之一。
- 该方法可以获取指定Excel单元格中闪烁图对象以及与该对象相关的参数。
- 当前版本Python所支持的xlwt模块中,本方法的返回值为一个SparklineGroup对象。
- 注意:闪烁图对象所在的单元格必须是已经被添加闪烁图对象的单元格。
使用方法
下面是一个通用的xlwt程序段,实现了创建一个含有闪烁图对象的Excel单元格:
import xlwt
from xlwt import Workbook
book = Workbook(encoding="utf-8")
sheet = book.add_sheet('Sheet 1')
# 创建闪烁图对象,明细请参阅官方文档
# 首先,需要创建一个SparklineGroup对象,并指定其类型
# 然后,调用create_sparkline方法为指定单元格创建闪烁图
# 最后,调用set_range方法设置图表的数据范围
my_sparkline_group = xlwt.sparklines.SparklineGroup(xlwt.sparklines.SparklineGroup.LINE)
my_sparkline_group.create_sparkline(sheet, 0, 0)
my_sparkline_group.set_range(0, 1, 10, 1)
# 获取该单元格中的闪烁图对象及相关信息
my_sparkline_group = sheet.get_sparkline_group(0, 0)
实例
实现闪烁图在不同的行、列单元格中闪烁
# 导入xlwt模块
import xlwt
# 初始化关键参数
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1')
# 设置单元格样式
style = xlwt.XFStyle()
style.num_format_str = 'general'
# 定义闪烁图的值和样式,分别对应三行和三列
sparkline_values = [[4,3,1,6,4,8,1],[6,4,6,0,6,9,8],[2,6,0,6,7,6,1]]
sparkline_styles = [(0,0,0),(0,1,1),(1,1,0)]
# 将闪烁图写入单元格
for row in range(3):
for col in range(3):
curr_row = row*7
curr_col = col*7
curr_sparkline = xlwt.sparklines.SparklineGroup(xlwt.sparklines.SparklineGroup.LINE)
curr_sparkline.create_sparkline(sheet, curr_row, curr_col)
curr_sparkline.set_range(curr_row, curr_col+1, curr_row+6, curr_col+1)
curr_sparkline.set_values(sparkline_values[row])
curr_sparkline.set_style(*sparkline_styles[col])
# 获取指定行列单元格的闪烁图
my_sparkline_group1 = sheet.get_sparkline_group(0, 0)
my_sparkline_group2 = sheet.get_sparkline_group(14, 21)
断言与比对两个单元格中的闪烁图对象
# 导入xlwt模块
import xlwt
# 初始化关键参数
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1')
# 设置单元格样式
style = xlwt.XFStyle()
style.num_format_str = 'general'
# 定义需要比对的两个单元格的闪烁图的值和样式
# 记得两个单元格中的闪烁图的值和样式都要保持一致哦~
sparkline_values = [2,7,8,5,1,7,5]
sparkline_style = (0,0,0)
# 将闪烁图写入单元格1
curr_sparkline = xlwt.sparklines.SparklineGroup(xlwt.sparklines.SparklineGroup.LINE)
curr_sparkline.create_sparkline(sheet, 0, 0)
curr_sparkline.set_range(0, 1, 6, 1)
curr_sparkline.set_values(sparkline_values)
curr_sparkline.set_style(*sparkline_style)
# 将闪烁图写入单元格2
curr_sparkline = xlwt.sparklines.SparklineGroup(xlwt.sparklines.SparklineGroup.LINE)
curr_sparkline.create_sparkline(sheet, 1, 0)
curr_sparkline.set_range(1, 1, 7, 1)
curr_sparkline.set_values(sparkline_values)
curr_sparkline.set_style(*sparkline_style)
# 断言:两个闪烁图的值和样式完全一致
my_sparkline_group1 = sheet.get_sparkline_group(0, 0)
my_sparkline_group2 = sheet.get_sparkline_group(1, 0)
assert my_sparkline_group1.get_values() == my_sparkline_group2.get_values()
assert my_sparkline_group1.get_style() == my_sparkline_group2.get_style()
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解xlwt的 Worksheet.get_sparkline_group 函数:返回火花线组 - Python技术站